当前位置: 首页 > news >正文

php网站开发接口开发比较好的建站网站

php网站开发接口开发,比较好的建站网站,河南建设工程造价信息,基金公司网站建设方案数据库服务管理 ​专栏内容#xff1a; postgresql内核源码分析手写数据库toadb并发编程 ​开源贡献#xff1a; toadb开源库 个人主页#xff1a;我的主页 管理社区#xff1a;开源数据库 座右铭#xff1a;天行健#xff0c;君子以自强不息#xff1b;地势坤#xff…数据库服务管理 ​专栏内容 postgresql内核源码分析手写数据库toadb并发编程 ​开源贡献 toadb开源库 个人主页我的主页 管理社区开源数据库 座右铭天行健君子以自强不息地势坤君子以厚德载物. 系列文章 初始化集群数据库服务管理 一、前言 postgresql 数据库是一款通用的关系型数据在开源数据库中能与商业数据媲美在业界也越来越流行。 因为是开源数据库不仅公开源码还有很多使用案例好用的插件所以它的慢慢变成了数据库的先驱和标准通过postgresql可以很好从使用到原理彻底搞懂 如果是学习编程也可以学到丰富的编程知识数据结构编程技巧它里面还有很多精妙的架构设计分层思想可以灵活定制的思想。 本专栏主要介绍postgresql 入门使用数据库维护管理通过这些使用来了解数据库原理慢慢了解postgresql是什么样的数据库能做那些事情以及如何做好服务最关键的是这些知识都是面试的必备项。 二、概述 本文主要介绍postgresql 数据库服务的启动查看停止以及配置修改后的重新加载。 经常接到开发人员反馈SQL执行失败了或者JDBC连不上数据库了不知道什么原因有一部分原因其实很简单数据库服务没有启动。使用数据库首先是启动数据库服务或者查看数据库服务是否正常保证我们后续的使用没有问题。 三、原理 数据库其实也是一个应用软件不过它机制比较庞大而已它一般采用C/S架构。 我们使用的图形化客户端或者命令行客户端都需要网络连接到数据库的服务端执行的命令也是由客户端发送给服务端执行再由服务端发送到客户端。 postgresql数据库服务端采用多进程模式有主进程进行网络监听服务每连接一个客户端都会fork产生一个服务进程这样每个客户端都有独立的服务进程处理 四、数据库服务管理命令 数据库服务的管理命令是 pg_ctrl 先看一下帮助 先进入到安装目录下 /opt/postgres/bin/, 这个路径按自己实际安装路径执行 [senllanghatch bin]$ cd /opt/postgres/bin/ [senllanghatch bin]$ ./pg_ctl --help pg_ctl is a utility to initialize, start, stop, or control a PostgreSQL server.Usage:pg_ctl init[db] [-D DATADIR] [-s] [-o OPTIONS]pg_ctl start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s][-o OPTIONS] [-p PATH] [-c]pg_ctl stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]pg_ctl restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s][-o OPTIONS] [-c]pg_ctl reload [-D DATADIR] [-s]pg_ctl status [-D DATADIR]pg_ctl promote [-D DATADIR] [-W] [-t SECS] [-s]pg_ctl logrotate [-D DATADIR] [-s]pg_ctl kill SIGNALNAME PIDCommon options:-D, --pgdataDATADIR location of the database storage area-s, --silent only print errors, no informational messages-t, --timeoutSECS seconds to wait when using -w option-V, --version output version information, then exit-w, --wait wait until operation completes (default)-W, --no-wait do not wait until operation completes-?, --help show this help, then exit If the -D option is omitted, the environment variable PGDATA is used.Options for start or restart:-c, --core-files allow postgres to produce core files-l, --logFILENAME write (or append) server log to FILENAME-o, --optionsOPTIONS command line options to pass to postgres(PostgreSQL server executable) or initdb-p PATH-TO-POSTGRES normally not necessaryOptions for stop or restart:-m, --modeMODE MODE can be smart, fast, or immediateShutdown modes are:smart quit after all clients have disconnectedfast quit directly, with proper shutdown (default)immediate quit without complete shutdown; will lead to recovery on restartAllowed signal names for kill:ABRT HUP INT KILL QUIT TERM USR1 USR2Report bugs to pgsql-bugslists.postgresql.org. PostgreSQL home page: https://www.postgresql.org/可以看到主要有几个管理选项 init 初始化服务也就是初始化数据库集群这在前面已经分享过这里只是用pg_ctrl来调用而已start 启动数据库服务stop 停止数据库服务status 查看服务状态restart 重启服务reload 重新加载 五、初始化数据库服务 前面已经介绍过详细的初始化数据库集群这是另一种命令执行方式最终还是调用initdb来完成 。 [senllanghatch bin]$ ./pg_ctl init -D testdemo1 The files belonging to this database system will be owned by user senllang. This user must also own the server process.Using default ICU locale en_US. Using language tag en-US for ICU locale en_US. The database cluster will be initialized with this locale configuration:provider: icuICU locale: en-USLC_COLLATE: en_US.UTF-8LC_CTYPE: en_US.UTF-8LC_MESSAGES: en_US.UTF-8LC_MONETARY: en_US.UTF-8LC_NUMERIC: en_US.UTF-8LC_TIME: en_US.UTF-8 The default database encoding has accordingly been set to UTF8. The default text search configuration will be set to english.Data page checksums are disabled.creating directory testdemo1 ... ok creating subdirectories ... ok selecting dynamic shared memory implementation ... posix selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting default time zone ... Asia/Shanghai creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... ok syncing data to disk ... okinitdb: warning: enabling trust authentication for local connections initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.Success. You can now start the database server using:/opt/postgres/bin/pg_ctl -D testdemo1 -l logfile start在当前目录下初始化testdemo1数据库集群目录 六、启动数据库服务 启动数据库服务有两种方式一种是在直接执行数据库主程序当前终端退出后数据库服务也就停止了另一种是将数据库服务以后台服务形式启动这样它就不依赖于当前终端了 后台服务方式启动服务 这个命令其实在初始化结束时已经提示了 [senllanghatch bin]$ ./pg_ctl -D testdemo1 -l logfile start waiting for server to start.... done server started其中参数需要指定 -D 数据库集群目录也就之前初始化的-l 服务启动日志输出的文件 七、查看数据库服务 在使用数据库之前或者连接数据库失败时我们首先需要查看数据库服务是否正常。 数据库服务状态的查看方式常用的有几种 通过服务管理命令查看通过数据库运行日志查看数据库服务运行情况通过系统命令查看后进程通过系统网络命令查看网络监听和连接状态 查看服务状态 通过pg_ctl服务管理命令的 status参数查看需要指定 -D 集群目录也可以是PGDATA环境变量代替 [senllanghatch bin]$ ./pg_ctl -D testdemo1 status pg_ctl: server is running (PID: 136824) /opt/postgres/bin/postgres -D testdemo1查看运行日志 运行日志默认是没有输出到文件的在启动之前需要在配置文件中将参数logging_collector打开这样我们才可以在文件中进行查看这个参数变化需要重启服务 vi testdemo1/postgresql.conf logging_collector on ./pg_ctl -D testdemo1 -l logfile restart [senllanghatch bin]$ cd $PGDATA/log [senllanghatch log]$ ll total 4 -rw-------. 1 senllang develops 616 Sep 3 08:40 postgresql-2023-09-03_084025.log这样就可以看到log目录同时已经生成了一个日志文件文件名默认按照时间来命名打开可以看到已经启动成功等待连接的到来 [senllanghatch log]$ vi postgresql-2023-09-03_084025.log 2023-09-03 08:40:25.326 CST [148029] LOG: starting PostgreSQL 16beta1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-19), 64-bit 2023-09-03 08:40:25.327 CST [148029] LOG: listening on IPv6 address ::1, port 5433 2023-09-03 08:40:25.327 CST [148029] LOG: listening on IPv4 address 127.0.0.1, port 5433 2023-09-03 08:40:25.333 CST [148029] LOG: listening on Unix socket /tmp/.s.PGSQL.5433 2023-09-03 08:40:25.339 CST [148033] LOG: database system was shut down at 2023-09-03 08:39:17 CST 2023-09-03 08:40:25.343 CST [148029] LOG: database system is ready to accept connections ~ ~查看后台进程 当然也可以通过linux 系统命令查看后台服务进程是否启动这需要熟悉后台进程 [senllanghatch bin]$ ps -ef|grep postgres|grep -v grep senllang 148029 1 0 08:40 ? 00:00:00 /opt/postgres/bin/postgres -D testdemo1 senllang 148030 148029 0 08:40 ? 00:00:00 postgres: logger senllang 148031 148029 0 08:40 ? 00:00:00 postgres: checkpointer senllang 148032 148029 0 08:40 ? 00:00:00 postgres: background writer senllang 148034 148029 0 08:40 ? 00:00:00 postgres: walwriter senllang 148035 148029 0 08:40 ? 00:00:00 postgres: autovacuum launcher senllang 148036 148029 0 08:40 ? 00:00:00 postgres: logical replication launcher可以看到父进程号1对应的就是数据库服务主进程pid为148029 其它都是它的六个子进程 查看网络服务 默认配置下监听IP为 localhost端口为 5432协议采用tcp [senllanghatch bin]$ netstat -an |grep tcp|grep 5432 tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN tcp6 0 0 ::1:5432 :::* LISTEN查看网络可以看到正处于listen状态如果支持IPv6可以看到tcp6协议 八、重新加载配置 在postgresql 的配置中大致分为需要重启的配置和不需要重启服务的配置对于不需要重启服务的配置就可以通过重新加载配置参数让配置生效 [senllanghatch bin]$ ./pg_ctl -D testdemo1 reload server signaled可以看到打印signaled其它就是给服务主进程发送了一个信号这就是我的专栏 并发控制中分享的多任务间通信的一种。 九、停止数据库服务 当数据库服务需要停机维护时我们先要停止数据库服务使用stop参数即可 [senllanghatch bin]$ ./pg_ctl -D testdemo1 stop waiting for server to shut down.... done server stopped在stop 时可以用-m 指定采用什么方式停止可以有三种选项 smart 当有客户端连接存在时会等所有客户端连接断开时才进行停止fast 快速停止当有客户端连接时会让它们主动断开并进行服务停止这也是默认的方式immediate 这个就是立即停止可能还有一些任务没有做完下次启动时会触发恢复 十、重启数据库服务 当服务启动或没有启动时都可以采用重启的方式再次启动 [senllanghatch bin]$ ./pg_ctl -D testdemo1 restart waiting for server to shut down.... done server stopped waiting for server to start....2023-09-03 09:39:15.106 CST [149106] LOG: redirecting log output to logging collector process 2023-09-03 09:39:15.106 CST [149106] HINT: Future log output will appear in directory log.done server started可以看到它其实就是先stop然后再start服务 十一、总结 对于数据库服务一般都是在后台运行看到不摸不着很多时间我们都没有注意但当我们遇到问题时又一时不知所措本文的分享希望能带给大家一些帮助有兴趣的同学可以一起来探讨在评论区留下你的观点。 结尾 非常感谢大家的支持在浏览的同时别忘了留下您宝贵的评论如果觉得值得鼓励请点赞收藏我会更加努力 作者邮箱studysenllang.onaliyun.com 如有错误或者疏漏欢迎指出互相学习。 注未经同意不得转载
http://www.zqtcl.cn/news/592168/

相关文章:

  • 建设拼多多一样网站需要多少钱wordpress企业站主题免费
  • 无锡网站制作哪家公司好做微信文章的网站
  • 网站 制作信产部网站备案
  • 做流程图表的网站网络营销推广网站收录
  • iis5.1怎么新建网站电子商务网站建设与管理实训内容答案
  • 做网站背景步骤知名的vi设计公司
  • 中国室内设计师联盟网站我注册过的网站
  • 如何给自己的公司做网站网站设计电商首页
  • 成都网站开发培训综合网站开发实训总结
  • 个人备案网站名称文学网站开发
  • 花钱做推广广告哪个网站好泗洪网页设计
  • 望牛墩镇网站建设公司网站建设企业熊掌号
  • 做网站一般会出现的问题静态网站的好处就是安全性好从而
  • 做海鲜代理在什么网站建筑网片钢筋网生产厂家
  • 万网网站建设方案书导购网站开发要多少钱
  • 做网站muse好还是DW好用wordpress %link
  • html5门户网站模版做投标需要知道什么网站
  • 合肥网站制作推广seo引擎搜索网站关键词
  • 陕西建设厅网站wordpress 不显示ip
  • 郑州外贸网站制作营销号视频生成器手机版
  • 绵阳市建设工程质量监督站网站wordpress的插件目录
  • 建设和管理环保网站西安做兼职网站设计
  • 在网站中写小说想要删除如何做婚纱摄影的网站怎么做
  • 重庆自适应网站建设wordpress添加icon文件
  • 目前小说网站排名适合网站设计的gif图片
  • 深圳建立网站wordpress 安装语言
  • 南京做中英文网站海南网站建设哪家专业
  • 做网站用jquerywordpress邮件有什么用
  • 上海网站建设免the 7 wordpress
  • 知名建站的公司微信企业app手机下载安装