首页 > 数据库 > PostgreSQL > 正文

PostgreSQL7.0手册-用户手册-20. 应用 - pg_ctl

2019-09-08 23:33:31
字体:
来源:转载
供稿:网友
pg_ctl
名称
pg_ctl  --  启动,停止,和重起 postmaster
语法
pg_ctl [-w] [-D datadir][-p path] [-o "options"] start
pg_ctl [-w] [-D datadir] [-m [s[mart]|f[ast]|i[mmediate]]] stop
pg_ctl [-w] [-D datadir] [-m [s[mart]|f[ast]|i[mmediate]]
    [-o "options"] restart
pg_ctl [-D datadir] status
输入
-w 
通过观察 pid 文件(PGDATA/postmaster.pid)的创建,等待数据库服务器的启动.在 60 秒后超时. 
-D datadir 
声明这个数据库安装的数据库位置. 
-p path 
声明 postmaster 影象的位置. 
-o "options" 
声明直接传递给 postmaster 的选项. 
  
  

通常这些参数用单或双引号引起,以保证它们以一组的方式传递. 

-m mode 
  
  

声明关闭模式. 

smart, s 
智能模式,等待所有客户端退出.这是缺省. 
f[ast], f 
快速模式,向后端发送 SIGTERM,这意味着活跃的事务都回卷. 
immediate, i 
立即模式,向后端发送 SIGUSR1 并且让它们退出.在这种模式,下一次启动将必须进行数据库恢复工作.
start 
启动 postmaster. 
stop 
关闭 postmaster. 
restart 
重新启动 postmaster,执行一次顺序的 stop/start. 
status 
显示 postmaster 的当前状态.
输出
pg_ctl: postmaster is state (pid: #) 
  
  

Postmaster 状态.

如果存在一个错误条件,将显示出后端的错误信息.
描述
pg_ctl 是一个用于启动,停止和重起 postmaster 的工具.
用法
启动 postmaster
要启动 postmaster: 
> pg_ctl start
如果使用了 -w,pg_ctl 等待数据库服务器启动-通过观察 pid 文件(PGDATA/postmaster.pid)的创建,最多等待 60 秒. 
激活 postmaster 的参数从下面的资源里获取: 

postmaster 的路径:在命令搜索路径里查找. 
数据库目录:PGDATA 环境变量. 

其他参数:PGDATA/postmaster.opts.default.

postmaster.opts.default 包含用于 postmaster 的参数.缺省安装时,打开了 -S 选项.因此 pg_ctl start 隐含地是: 
postmaster -S
请注意 postmaster.opts.default 是由 initdb 从 Postgres 的安装目录(lib/postmaster.opts.default.sample 是安装 Postgres 时从 src/bin/pg_ctl/postmaster.opts.default.sample )里的?lib/postmaster.opts.default.sample 拷贝来的. 
要覆盖缺省的参数,你可以使用 -D,-p 和 -o 选项. 

一个启动 postmaster,并等到l postmaster 启动后才退出的例子是: 

> pg_ctl -w start
要声明 postmaster 二进制路径,试试: 
> pg_ctl -p /usr/local/pgsq/bin/postmaster start
对一个使用端口5433,并且运行在无磁盘同步的模式的 postmaster,使用: 
> pg_ctl -o "-o -F -p 5433" start
停止 postmaster
> pg_ctl stop
停止 postmaster.使用 -m 开关以允许我们控制后端是如何停止的.-w 等待 postmaster 停止.-m 声明停止的模式.
重起 postmaster
这个功能几乎等同于停止 postmaster 然后再次启动它-除了停止它前的参数还要使用以外.这是通过在 $PGDATA/postmaster.opts 文件里存储这些参数实现的.-w,-D,-m,-fast,-immediate 也可以在重起模式使用,并且和上面有一样的含义. 
要用最简单的方法重起 postmaster: 

> pg_ctl restart
要重起 postmaster,等它停止并重新启动: 
> pg_ctl -w restart
要在 5433 端口重起并且重起后关闭 fsync: 
> pg_ctl -o "-o -F -p 5433" restart
postmaster 状态
要从 postmaster 获取状态信息: 
> pg_ctl status
下面是一些从 pg_ctl 里的例子: 
pg_ctl: postmaster is running (pid: 13718)
options are:
/usr/local/src/pgsql/current/bin/postmaster
-p 5433
-D /usr/local/src/pgsql/current/data
-B 64
-b /usr/local/src/pgsql/current/bin/postgres
-N 32
-o '-F'
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选