ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

PostGreSql运维操作

2022-06-16 20:05:57  阅读:292  来源: 互联网

标签:PostGreSql 运维 数据库 datadir 实例 pg shutdown ctl 操作


对PostGreSql进行运维操作时,必须切换到postgres用户(也可以切换到其他管理员用户)

1.PostGresql启停等运维

进入postgresql的bin目录下

启动命令

./pg_ctl start -D pg的data文件夹所在目录
一、启停方法

两种方法

  1、直接运行postgres进程启动;

  2、使用pg_ctl命令启动

  postgres -D /home/osdba/pgdata  &

二、停止数据库的三种模式

smart   shutdown:智能关机模式。不接受新的连接,且等已有连接全部结束后,关闭数据库。

fast shutdown:快速关闭模式,不允许有新的连接,向所有活跃的服务进程发送sigterm信号,让           他们立刻退出,然后等所有子进程结束并关闭数据库。如果数据库正处于备     份状态,立刻终止备份。

immediate shutdown: 立即关闭模式,所有进程立即退出,并不会妥善关闭数据库系统,下次启动时数据库会重放WAL日志进行恢复。紧急时使用。

 

sigterm :  此信号smart shutdown关机模式

sigint  :   fast  shutdown关机模式

sigquit  :  immediate shutdown关机模式

pg_ctl stop  -D  datadir -m smart 
pg_ctl stop  -D  datadir -m fast
pg_ctl stop  -D  datadir -m  immediate 

二、pg_ctl功能

1、初始化postgresSQL数据库实例。

2、启动、终止或重启

3、查看服务状态

4、让数据库实例重新读取配置文件

初始化postgresql数据库实例命令:

pg_ctl  init[db]  [-s]  [-D datadir]  [-o options]

-s  只打印错误和警告信息

-D  datadir:指定数据库实例的数据目录

-o  options:为直接传递给initdb命令的参数,具体可见initdb 命令的帮助。

-c  提高服务器的软限制(ulimit -c),尝试允许数据库实例在异常时产生一个coredump文件,以便于问题定位和故障分析。

pg_ctl  start  -w  -D  /home/osdba/pgdata
  

三、启动postgresSQL 数据库的命令如下:

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

-w  等待启动完成。

-t   等待启动完成的秒数  默认60s

-s  只打印错误和警告信息,不打印提示性信息。

-D  datadir:指定数据库实例的数据目录。

-l   把服务器日志输出附加在  filename  文件上,不存在则创建。

-o options: 声明要直接传递给postgres的选项

-p  path:指定postgres可执行文件的位置。默认执行文件和pg_ctl相同目录。

 

四、停止postgresql数据库命令如下:

pg_ctl  stop  [-w]  [-t  seconds]  [-s]   [-D  datadir]  [-m s[mart] |  f[ast]  | i[mmediate] ]

-W  不等数据库停下来,命令就返回

-m  指定停止模式

 

五、让数据库实例重新读取配置文件的命令如下:

pg_ctl reload  [-s] [-D datadir]

 

六、查询数据库实例状态的命令:

pg_ctl status  [-D datadir]

2.PostGreSQL 连接数过多解决

问题原因,超过PG库设置的最大连接数(默认是100)

解决方案,在在postgresql.conf(pg对应的data目录下)中设置:

修改max_connections = 1000

想要此配置文件生效需要重启PG库。

在安装目录的bin目录下,能看到pg_ctl

以数据库管理员身份运行

./pg_ctl restart -D pg的data目录

然后就可以生效啦

查看当前最大连接数以及相关信息
show max_connections;
SELECT COUNT(*) from pg_stat_activity;
select min_val, max_val from pg_settings where name='max_connections';

标签:PostGreSql,运维,数据库,datadir,实例,pg,shutdown,ctl,操作
来源: https://www.cnblogs.com/traveller-hzq/p/16383229.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有