SYNOPSIS

pg_ctl start [ -w ] [ -s ] [ -D datadir] [ -l filename] [ -o options] [ -p path]

pg_ctl stop [ -W ] [ -s ] [ -D datadir] [ -m s[mart] | f[ast] | i[mmediate]]

pg_ctl restart [ -w ] [ -s ] [ -D datadir] [ -m s[mart] | f[ast] | i[mmediate]] [ -o options]

pg_ctl reload [ -s ] [ -D datadir]

pg_ctl status [ -D datadir]

DESCRIPTION 描述

pg_ctl 是一个用于启动,停止, 或者重起 PostgreSQL 后端服务器(postmaster), 或者显示一个运行着的服务器的状态的工具, 尽管我们可以手动启动服务器,但是 pg_ctl 封装了重新定向日志输出, 与终端和进程组合理分离,以及另外提供了一个选项用于有控制的关闭。

start 模式里会启动一个新的服务器。 服务器是在后台启动的,标准输入被附着到了 /dev/null 上。如果使用了 -l,那么标准输出和标准错误被定向到一个日志文件, 要么就是重新定向到 pg_ctl 的标准输出(而不是标准错误)。 如果没有选定日志文件,pg_ctl 的标准输出应该重新定向到一个文件或者用管道输出到另外一个进程, 比如那些日志旋转程序,否则,postmaster 将把它的输出写到控制终端(在后台)并且将不会脱离 shell 的进程组。

stop 模式下,那个正在特定数据目录运行的服务器被关闭。 你可以用 -m 选项选择三种不同的关闭模式:"Smart" 模式等待所有客户端中断联接。 这个是缺省。"Fast" 模式并不等待客户端中断联接。 所有活跃事务都被回卷并且客户端都强制断开。 "Immediate" 模式将在没有干净关闭的情况下退出。这么做将导致在重新启动的时候的恢复。

restart 实际上是先执行一个停止,然后紧跟一个启动。它允许变换 postmaster 命令行的选项。

reload 模式简单地给 postmaster 发送一个 SIGHUP 信号,导致它重新读取她的配置文件 (postgresql.conf, pg_hba.conf 等等) 这样就允许修改配置文件选项而不用完全重启系统来使之生效。

status 模式监查一个服务器是否在指定的数据目录运行, 如果是,那么显示其 PID 和调用它的命令行选项。

OPTIONS 选项

-D datadir
声明该数据库文件的文件系统位置。 如果忽略这个选项,使用环境变量 PGDATA。
-l filename
把服务器日志输出附加在 filename 文件上。 如果该文件不存在,那么创建它。umask设置为 077, 因此缺省时是不允许从其它用户向日志文件访问的。

-m mode
声明关闭模式。mode 可以是smart, fast, 或者 immediate,或者是这三个之一的第一个字母。
-o options
声明要直接传递给 postmaster 的选项。

参数通常都用单或者双引号包围以保证它们作为一个整体传递。

-p path
声明 postmaster 可执行文件的位置。 缺省时 postmaster 是从和 pg_ctl 相同的目录取出,如果不是, 那么就是写死的安装目录。除非你想干点什么特别的事情,并且得到类似没有找到 postmaster这样的错误, 否则没有必要使用这个选项。

-s
只打印错误,而不打印提示性信息。
-w
等待启动或者关闭的完成。在 60 秒后超时。 这个参数是关闭时的缺省值。 成功的关闭是以删除 PID 文件为标志的。对于启动而言, 一次成功的 psql -l 就标志着成功。 pg_ctl 将视图使用对 psql 合适的端口,如果存在环境变量 PGPORT,那么用它。 否则,它将查找看看在 postgresql.conf 文件里面是否设置了一个端口。 如果都没有,它将使用 PostgreSQL 编译时的缺省端口(缺省是 5432)。

-W
不等待启动或者停止的完成。这是启动和重起的缺省。

ENVIRONMENT 环境

PGDATA
缺省数据目录位置
PGPORT
psql(1) 的缺省端口(由 -w 选项使用)。

其它的环境变量,参阅 postmaster(1).

FILES 文件

postmaster.pid
这个文件存在于数据目录中是为了帮助 pg_ctl 判断服务器当前是否在运行。
postmaster.opts.default
如果这个文件存在于数据目录,pg_ctl(在 start 模式下)将把文件地内容当作传递给 postmaster 命令的选项传递过去,除非被 -o 选项覆盖。

postmaster.opts
如果这个文件存在于数据目录,pg_ctl(在 start 模式下)将把文件地内容当作传递给
postmaster 命令的选项传递过去,除非被 -o 选项覆盖。这个文件的内容也会在 status 模式里显示出来。
postgresql.conf
这个文件在数据目录中,会分析它以查找和 psql 一起用的合适的端口(在 start 模式里给出 -w 的时候。)

NOTES 注意

等待完全启动还不是一个定义得很完整的操作, 如果访问控制设置为本地客户端在没有手工交互的情况下不能访问的话还可能会失效。(比如,口令认证)。

EXAMPLES 例子

STARTING THE SERVER 启动服务器

启动服务器:

$ pg_ctl start

启动服务器的一个例子, 等到服务器 启动了才退出:

$ pg_ctl -w start

用于一个 postmaster 使用端口 5433,而且不带 fsync 运行,使用:

$ pg_ctl -o "-F -p 5433" start

STOPPING THE SERVER 停止服务器

$ pg_ctl stop

停止服务器,使用 -m 开关允许我们控制如何把后端停下来。 -w等待服务器停止。-m 声明后端的停止模式。

RESTARTING THE SERVER 重起服务器

这个命令几乎等于先停止 postmaster 然后再启动她,只不过 pg_ctl 保存并重新使用上一次运行 postmaster 的命令行参数。重起服务器的最简单的方法是:

$ pg_ctl restart

重起服务器,等待其停止和重起:

$ pg_ctl -w restart

使用 5433 重起并且重起后关闭 fsync:

$ pg_ctl -o "-F -p 5433" restart

SHOWING THE SERVER STATUS 显示服务器状态

下面是来自 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'

这是在重起模式里使用的命令行。

pg_ctl - 启动,停止和重启 PostgreSQL 服务器的更多相关文章

  1. pg_ctl -- 启动、停止、重启 PostgreSQL

    pg_ctl 名称 pg_ctl -- 启动.停止.重启 PostgreSQL 语法 pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o opt ...

  2. pg_ctl — 启动、停止、重启 PostgreSQL

    pg_ctl 名称 pg_ctl -- 启动.停止.重启 PostgreSQL 语法 pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o opt ...

  3. Nginx学习——Nginx启动、停止、重启和信号控制以及平滑升级

    1.Nginx 启动与停止 (1)启动方式 启动格式:Nginx可执行文件地址 -c Nginx配置文件地址 /etc/local/nginx/sbin/nginx -c /root/dufy/ngi ...

  4. Atitit. 软件GUI按钮与仪表盘--web服务器区--获取apache配置文件路径 linux and apache的启动、停止、重启

    Atitit.   软件GUI按钮与仪表盘--web服务器区--获取apache配置文件路径 linux and apache的启动.停止.重启 可以通过"netstat -anp" ...

  5. linux 下 apache相关;启动、停止、重启命令;配置文件位置等等

    linux 下 apache启动.停止.重启命 基本的操作方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况 apahce启动命令: 推荐/usr/l ...

  6. Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’解决方法 + Linux启动/停止/重启Mysql数据库的方法

    启动mysql 报错: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/m ...

  7. linux 下 apache启动、停止、重启命令

    基本的操作方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况 apahce启动命令: 推荐/usr/local/apache2/bin/apachec ...

  8. Linux Systemd——在RHEL/CentOS 7中启动/停止/重启服务

    RHEL/CentOS 7.0中一个最主要的改变,就是切换到了systemd.它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理.systemd兼容SysV和Li ...

  9. mysql启动停止,一台服务器跑 多个mysql数据库

    一.以非特权用户运行MySQL服务器在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器.服务器可以手动或自动启动.如果你手动启动它, 服务器以你登录Unix(Li ...

随机推荐

  1. Nginx 在 Linux 下安装与搭建集群

    搭建集群图例 集群搭建图如下,为了简单一点,使用一个Nginx服务器+两个Tomcat服务器,省略数据库部分: 环境说明 Linux 为 CentOS 7.2 发行版 + Java jdk 1.8 + ...

  2. 你的MySQL服务器开启SSL了吗?(转载)

    最近,准备升级一组MySQL到5.7版本,在安装完MySQL5.7后,在其data目录下发现多了很多.pem类型的文件,然后通过查阅相关资料,才知这些文件是MySQL5.7使用SSL加密连接的.本篇主 ...

  3. spring- junit测试事务回滚

    http://blog.csdn.net/molingduzun123/article/details/49383235

  4. 关于跨域踩的坑,浏览器 status code为200,但实际上是跨域了

    背景 后端使用Nginx并更改本地host文件,起本地服务.将aaa.bbbb.com代理至本地IP地址(10.26.36.156).使用$.ajax调用后端restful接口,要求content-t ...

  5. IDEA设置Ctrl+滚轮调整字体大小

    IDEA设置Ctrl+滚轮调整字体大小(转载)   按Ctrl+Shift+A,出现搜索框 输入mouse: 点击打开这个设置:勾选 点击ok,之后就可以通过Ctrl+滚轮 调整字体大小了.

  6. win10+VS2015+opencv3.4.0配置方法

    win10+VS2015+opencv3.4.0配置方法 操作环境: windows10 64位opencv 3.4.0:https://opencv.org/releases.html(选择open ...

  7. Mysql数据库密码忘记的解决办法

    密码忘记——破解密码 跳过授权方式,直接登录!! 1.以管理员身份打开cmd 2.停掉mysql服务端 C:\WINDOWS\system32>net stop mysql MySQL 服务正在 ...

  8. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第5节 String类_4_字符串的比较相关方法

    字符串的常用方法 equals是对内容的比较 直接用字符串.equals 小写的h和大写的H肯定是不一样的 推荐和不推荐的写法 运行程序不会报任何的错误 如果把str5设置为null.那么推荐的写法返 ...

  9. Robot Framework-DatabaseLibrary(MySql) API

    API 参数 说明 Check If Exists In Database 查询语句 数据库中存在:存在,则为PASS,不存在,则为FAIL Check If Not Exists In Databa ...

  10. JSONPath解析json

    JSONPath - 用于JSON的XPath 用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具. 考虑到接下来计划开发一个自动化测试平台,在 ...