设为首页 收藏本站
查看: 1281|回复: 0

[经验分享] PostgreSQL-学习-03--服务器配置

[复制链接]

尚未签到

发表于 2016-11-20 08:08:28 | 显示全部楼层 |阅读模式
  出处:http://www.cnblogs.com/stephen-liu74/archive/2012/06/08/2315679.html
一、服务器进程的启动和关闭:

    下面是pg_ctl命令的使用方法和常用选项,需要指出的是,该命令是postgres命令的封装体,因此在使用上比直接使用postgres更加方便。
    pg_ctl init[db] [-D DATADIR] [-s] [-o "OPTIONS"]
    pg_ctl start     [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o "OPTIONS"]
    pg_ctl stop     [-W] [-t SECS] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]
    pg_ctl restart  [-w] [-t SECS] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]
    pg_ctl reload  [-D DATADIR] [-s]
    pg_ctl status  [-D DATADIR]
    pg_ctl promote [-D DATADIR] [-s]

选项描述
-D指定数据库存储的路径
-l指定服务器进程的日志文件
-s仅打印错误信息,不打印普通信息
-t SECS当使用-w选项时等待的秒数
-w等待直到数据库操作完成(对于stop而言,该选项时缺省选项)
-W不等待任何操作的完成
--help显示帮助信息
--version显示版本信息
-m对于stop和restart操作,可以指定关闭模式
系统关闭模式 
smart不在接收新的连接,直到当前已有的连接都断开之后才退出系统
fast不在接收新的连接请求,主动关闭已经建立的连接,之后退出系统
immediate立即退出,但是在restart的时候需要有恢复的操作被执行
    
    这里我们只是给出最为常用的使用方式,即数据库服务器的正常启动和关闭。
    #start表示启动postgres服务器进程。
    #-D指定数据库服务器的初始目录的存放路径。
    #-l指定数据库服务器进程的日志文件
    /> pg_ctl -w start -D /opt/PostgreSQL/9.1/data -l /opt/PostgreSQL/9.1/data/pg_log/startup.log
    #stop表示停止postgres服务器进程
    #-m fast在关闭系统时,使用fast的关闭模式。
    /> pg_ctl stop -m fast -w -D /opt/PostgreSQL/9.1/data

二、服务器配置:

    1. 设置参数:
    在PostgreSQL中,所有配置参数名都是大小写不敏感的。每个参数都可以接受四种类型的值,它们分别是布尔、整数、浮点数和字符串。其中布尔值可以是ON、OFF、TRUE、FALSE、YES、NO、1和0。包含这些参数的配置文件是postgresql.conf,该文件通常存放在initdb初始化的数据(data)目录下,见如下配置片段:
    # 这是一个注释
    log_connections = yes
    log_destination = 'syslog'
    search_path = '$user, public'
    井号(#)开始的行为注释行,如果配置值中包含数字,则需要用单引号括起。如果参数值本身包含单引号,我们可以写两个单引号(推荐方法)或用反斜扛包围。    
    这里需要注意的是,并非所有配置参数都可以在服务器运行时执行动态修改,有些参数在修改后,只能等到服务器重新启动后才能生效。
    PostgreSQL还提供了另外一种修改配置参数的方法,即在命令行上直接执行修改命令,如:
    /> postgres -c log_connections=yes -c log_destination='syslog'
    如果此时命令行设置的参数和配置文件中的参数相互冲突,那么命令行中给出的参数将覆盖配置文件中已有的参数值。除此之外,我们还可以通过ALTER DATABASE和ALTER USER等PostgreSQL的数据定义命令来分别修改指定数据库或指定用户的配置信息。其中针对数据库的设置将覆盖任何从postgres命令行或者配置文件从给出的设置,然后又会被针对用户的设置覆盖,最后又都会被每会话的选项覆盖。下面是当服务器配置出现冲突时,PostgreSQL服务器将会采用哪种方式的优先级,如:
    1). 基于会话的配置;
    2). 基于用户的配置;
    3). 基于数据库的配置;
    4). postgres命令行指定的配置;
    5). 配置文件postgresql.conf中给出的配置。
    最后需要说明的是,有些设置可以通过PostgreSQL的set命令进行设置,如在psql中我们可以输入:
    SET ENABLE_SEQSCAN TO OFF;
    也可以通过show命令来显示指定配置的当前值,如:
    SHOW ENABLE_SEQSCAN;
    与此同时,我们也可以手工查询pg_settings系统表的方式来检索感兴趣的系统参数。 

三、内存相关的参数配置:

    1. shared_buffers(integer):
    设置数据库服务器可以使用的共享内存数量。缺省情况下可以设置为32MB,但是不要少于128KB。因为该值设置的越高对系统的性能越有好处。该配置参数只能在数据库启动时设置。
    此时,如果你有一台专用的数据库服务器,其内存为1G或者更多,那么我们推荐将该值设置为系统内存的25%。
    
    2. work_mem(integer):
    PostgreSQL在执行排序操作时,会根据work_mem的大小决定是否将一个大的结果集拆分为几个小的和work_mem差不多大小的临时文件。显然拆分的结果是降低了排序的速度。因此增加work_mem有助于提高排序的速度。然而需要指出的是,如果系统中同时存在多个排序操作,那么每个操作在排序时使用的内存数量均为work_mem,因此在我们设置该值时需要注意这一问题。
    
    3. maintence_work_mem(integer):
    指定在维护性操作中使用的最大内存数,如VACUUM、CREATE INDEX和ALTER TABLE ADD FOREIGN KEY等,该配置的缺省值为16MB。因为每个会话在同一时刻只能执行一个该操作,所以使用的频率不高,但是这些指令往往消耗较多的系统资源,因此应该尽快让这些指令快速执行完毕。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-302663-1-1.html 上篇帖子: postgresql调优一:postgresql参数调优 下篇帖子: 关于设置Postgresql Increment的备份方式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表