postgresql的pg_ctl
Namepg_ctl--启动,停止和重起 PostgreSQLSynopsispg_ctlstart [-w] [-s] [-Ddatadir] [-lfilename] [-ooptions] [-ppath] 描述pg_ctl是一个用于启动,停止, 或者重起PostgreSQL后端服务器(postmaster), 或者显示一个运行着的服务器的状态的工具, 尽管我们可以手动启动服务器,但是pg_ctl封装了重新定向日志输出, 与终端和进程组合理分离,以及另外提供了一个选项用于有控制的关闭。 在start模式里会启动一个新的服务器。 服务器是在后台启动的,标准输入被附着到了/dev/null上。如果使用了-l,那么标准输出和标准错误被定向到一个日志文件, 要么就是重新定向到pg_ctl的标准输出(而不是标准错误)。 如果没有选定日志文件,pg_ctl的标准输出应该重新定向到一个文件或者用管道输出类似rotatelogs这样的日志旋转程序,否则,postmaster将把它的输出写到控制终端(在后台)并且将不会脱离 shell 的进程组。 在stop模式下,那个正在特定数据目录运行的服务器被关闭。 你可以用-m选项选择三种不同的关闭模式:"Smart"模式等待所有客户端中断联接。 这个是缺省。"Fast"模式并不等待客户端中断联接。 所有活跃事务都被回卷并且客户端都强制断开。"Immediate"模式将在没有干净关闭的情况下退出。这么做将导致在重新启动的时候的恢复。 restart实际上是先执行一个停止,然后紧跟一个启动。它允许变换postmaster命令行的选项。 reload模式简单地给postmaster发送一个SIGHUP信号,导致它重新读取她的配置文件 (postgresql.conf,pg_hba.conf等等) 这样就允许修改配置文件选项而不用完全重启系统来使之生效。 status模式监查一个服务器是否在指定的数据目录运行, 如果是,那么显示其PID和调用它的命令行选项。 kill模式允许你给一个指定的进程发送信号。 这个功能对Microsoft Windows特别有用,因为那里没有kill命令。 使用--help查看支持的信号的名字的列表。 选项
环境
其它的环境变量,参阅postmaster。 文件
如果在数据目录里存在postmaster.opts.default文件,那么该文件将作为选项传递给postmaster, 除非被-o选项覆盖。 注意等待完全启动还不是一个定义得很完整的操作, 如果访问控制设置为本地客户端在没有手工交互的情况下不能访问的话还可能会失效。(比如,口令认证)。 例子启动服务器启动服务器: $ pg_ctl start 启动服务器的一个例子, 等到服务器 启动了才退出: $ pg_ctl -w start 用于一个postmaster使用端口 5433,而且不带fsync运行,使用: $ pg_ctl -o "-F -p 5433" start 停止服务器$ pg_ctl stop 停止服务器,使用-m开关允许我们控制如何把后端停下来。-w等待服务器停止。-m声明后端的停止模式。 重起服务器这个命令几乎等于先停止postmaster然后再启动她,只不过pg_ctl保存并重新使用上一次运行 postmaster 的命令行参数。重起服务器的最简单的方法是: $ pg_ctl restart 重起服务器,等待其停止和重起: $ pg_ctl -w restart 使用 5433 重起并且重起后关闭fsync: $ pg_ctl -o "-F -p 5433" restart 显示服务器状态下面是来自pg_ctl的状态输出的例子: $ pg_ctl status pg_ctl: postmaster is running (pid: 13718) Command line was: /usr/local/pgsql/bin/postmaster '-D' '/usr/local/pgsql/data' '-p' '5433' '-B' '128' 这是在重起模式里使用的命令行。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |