PostgreSQL:启动与停止

天翼云开发者社区
• 阅读 560

本文分享自天翼云开发者社区@《PostgreSQL:启动与停止》,作者: 周*****平

启动和停止 PostgreSQL 数据库服务器,通常使用pg_ctl。通常在我们的生产环境中,如果数据库主机发生意外停机或者由于计划内的硬件配置等操作停止了主机后,PostgreSQL 服务也将会停止,需要手动重启。因此,在生产环境中,采用编译安装 PostgreSQL 数据库后,建议配置系统 postgresql.service 服务,通过 systemctl 系统命令设置开机自动启动。

使用 systemctl 命令 配置 systemctl 服务 配置该服务之后,Redhat Linux 就可以使用 systemctl 系统控制命令来启动 PostgreSQL 数据库了。

1.使用 root 用户切换到 /usr/lib/systemd/system 目录,编辑 postgresql-12.service 文件,该文件默认不存在,需要手动编辑,如下: vi postgresql-12.service

[Unit] Description=PostgreSQL database server After=network.target [Service] Type=forking User=postgres Group=postgres Environment=PGPORT=5432 Environment=PGDATA=/data/pg_data/ OOMScoreAdjust=-1000 ExecStart=/opt/pgsql/bin/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300 ExecStop=/opt/pgsql/bin/pg_ctl stop -D ${PGDATA} -s -m fast ExecReload=/opt/pgsql/bin/pg_ctl reload -D ${PGDATA} -s TimeoutSec=300 [Install] WantedBy=multi-user.target

2.然后之下下列命令启用服务控制守护 [root@node1 pg_data]# systemctl daemon-reload 3.使用systemctl系统服务控制命令启动 postgresql [root@node1 pg_data]# systemctl start postgresql-12.service 4.配置开机启动 [root@node1 pg_data]# systemctl enable postgresql-12.service

简介 systemctl 命令 1.使用systemctl 命令停止数据库 [sdedu@root:/root]#systemctl stop postgresql-12.service 2.使用sytsemctl 命令启动数据库 [sdedu@root:/root]#systemctl start postgresql-12.service 3.使用systemctl 命令启用数据库服务开机后自动启动 [sdedu@root:/root]#systemctl enable postgresql-12.service

使用 pg_ctl 命令 pg_ctl 命令为 PostgreSQL 服务端应用程序,可以用来初始化,启动和停止及控制 PostgreSQL 服务器。 pg_ctl 语法格式: 初始化数据库 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] 重启数据库 pg_ctl 重新启动 [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s] [-o OPTIONS] [-c] 重新加载 postgresql.conf 或 pg_hba.conf 文件 pg_ctl reload [-D DATADIR] [-s] 查看服务器是否在指定的数据目录运行 pg_ctl status [-D DATADIR] pg_ctl提升 [-D DATADIR] [-W] [-t SECS] [-s] pg_ctl logrotate [-D DATADIR] [-s] pg_ctl杀死信号名PID

命令选项 -D, --pgdata=DATADIR:指定数据库相关文件的数据目录,如果省略,默认读取 PGDATA 环境变量 -s, --silent:静默输出,仅仅输出错误消息 -t, --timeout=SECS:指定等待操作完成的最大延时秒数。默认为 PGCTLTIMEOUT 环境变量的值,如果省略,默认60秒 -V, --版本输出版本信息,然后退出 -w, --wait:等待操作完成,如果操作在延迟时间内未完成,pg_ctl 退出状态为非零 -W, --no-wait:不等待操作完成,不会提示数据库停止是否完成

启动 & 重启选项 -c, --core-files 允许 postgres 生成核心文件 -l, --log=FILENAME:将服务器日志输出追加到 filename中,也叫做服务器日志文件。如果该文件的 umask 设置为077,访问日志文件默认情况下其它用户不可读。 -o, --options=OPTIONS 命令行选项,以传递给 postgres(PostgreSQL 服务器可执行文件)或 initdb -p 路径到POSTGRES通常不是必需的

启动 & 停止选项 -m, --mode=MODE:指定关闭数据库的模式,有三个选项,smart,fast,immediate,省略默认为fast

关库选项 smart:smart模式会等待活动的事务提交结束, 并等待客户端主动断开连接之后关闭数据库 fast:fast模式则会回滚所有活动的事务, 并强制断开客户端的连接之后关闭数据库(默认) 立即:模式立即终止所有服务器进程,当下一次数据库启动时它会首先进入恢复状态(不推荐使用)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31490526/viewspace-2711965/,如需转载,请注明出处,否则将追究法律责任。

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
springboot项目启动,停止,重启
参考博客https://www.cnblogs.com/chy/p/10460061.html打包插件,可以指定启动类<build<plugins<plugin<groupIdorg.springframework.boot</groupId<artifact
Stella981 Stella981
3年前
Jenkins的重启几种方式
一、在Linux中Jenkins启动/重启/停止命令启动servicejenkinsstart重启servicejenkinsrestart停止servicejenkinsstop二、在Jenkins页面上启动/重启/停止命令访问我们部署的Jenkins服务应用网址。我这里是
Stella981 Stella981
3年前
Docker常见命令
容器相关操作dockercreate创建一个容器但是不启动它dockerrun创建并启动一个容器dockerstop停止容器运行,发送信号SIGTERMdockerstart启动一个停止状态的容器dockerrestart重启一个容器dockerr
Stella981 Stella981
3年前
Postgresql 数据库控制解析(一)
前面我们通过“探索postgresql数据库(一)”和“探索postgresql数据库(二)”基本了解了postgresql数据库。接下来本文开始介绍下数据库控制(servercontrol)。。一、手动开启数据库(Startingthedatabaseservermanually)默认postgresql会随着系统自动启动,不过
Stella981 Stella981
3年前
Bypass 360主机卫士SQL注入防御(多姿势)
0x00前言在服务器客户端领域,曾经出现过一款360主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影。从半年前的测试虚拟机里面,翻出了360主机卫士Apache版的安装包,就当做是一个纪念版吧。这边主要分享一下几种思路,Bypass360主机卫士SQL注入防御。!(https://oscimg.osc
PostgreSQL:内存结构
本文分享自天翼云开发者社区@《》,作者:我是小朋友在Postgresql中,内存大概被分为两块Localmemoryarea:为每一个backendprocess分配的内存Sharedmemoryarea:PostgreSQLserver所有的backgr
PostgreSQL:进程结构
本文分享自天翼云开发者社区@《》,作者:周平Postgresql是一个C/S架构的关系型数据库,由多个后台进程管理数据库,下面分别介绍一些这些进程postgresserverprocess一个服务器端进程,是所有进程的父进程。该进程管理数据库文件,接受客户
虚拟主机和云服务器的区别
本文分享自天翼云开发者社区@《》,作者:AE86上山了虚拟主机和云服务器的区别1、云服务器可支持弹性扩展,按需付费,而虚拟主机不支持2、云服务器需要手动配置环境,虚拟主机无须配置环境3、云服务器是独享资源,虚拟主机的资源是共享的4、云服务器可远程桌面进行管
PostgreSQL:psql 介绍
本文分享自天翼云开发者社区《》,作者:周平psql命令是与PostgreSQL服务器交互的客户端程序,要登录到数据库服务器,需要使用psql客户端工具或者第三方客户端工具如PostgreSQLforNavicat,pgAdmin,Visualizer等等。
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
722
粉丝
15
获赞
40