当前位置:文档之家› PostgreSQL安装及部分参数说明

PostgreSQL安装及部分参数说明

PostgreSQL安装及部分参数说明目录1PostgreSQL安装及配置 (3)1.1Postgresql安装 (3)1.2Postgresql配置 (7)1.3启停服务 (18)1PostgreSQL安装及配置1.1Postgresql安装建立用户:groupadd postgresuseradd-g postgres-d/home/postgres postgres(可指定-s/bin/bash)建立目录mkdir postgreschown-R postgres:postgres postgrespasswd XXXXXX安装PostgreSQL,需要提前安装好gcc编译环境和readline-devel软件从官网下载PostgreSQL软件包,官网地址为:https:///ftp/source/上传到服务器上postgres用户下,解压开始编译,configure后面参数根据实际可自行添加,请参考configure帮助信息。

./configure --with-zlib --enable-nls --enable-integer-datetimes --with-openssl --enable-debug --enable-cassert --prefix=/home/postgres/app/pg103/make worldmake install-world编译完成之后创建数据目录pgdata,目录名称可自行修改mkdir pgdatachown700pgdata添加环境变量vi.bash_profileexport PGHOME=/home/postgres/app/pg103/export PGDATA=/home/postgres/pgdata/LD_LIBRARY_PATH中加上$PGHOME/libPATH中添加$PGHOME/bin生效环境变量..bash_profile初始化数据库initdb-D/home/postgres/pgdata/-E UTF-8--locale=zh_CN.utf8cd/home/postgres/pgdata/修改postgresql.conf控制文件建议各个节点之间做ssh互信(root和postgres)和时间同步。

再设置时区请选择上海。

1.2Postgresql配置postgresql.conf配置文件,以下配置文件仅供参考,实际配置可按找每台服务器硬件条件调整。

在PostgreSQL中文社区中/docs/10/第19章有每一个参数的详细说明,20章为客户端认证配置。

以下参数仅供参考。

程向主服务器或上游后备机发送有关复制进度的信息的最小频度,它可以使用pg_stat_replication视图看到。

hot_standby_feedback=on#指定一个热后备机是否将会向主服务器或上游后备机发送有关于后备机上当前正被执行的查询的反馈。

#wal_receiver_timeout=60s#中止处于非活动状态超过指定毫秒数的复制链接。

#wal_retrieve_retry_interval=5s#指定等待服务器应等待多长时间时,当重试检索WAL数据之前来自任何源(流复制,本地pg_wal或者WAL归档)的WAL数据不可用。

#---------------------------------------------------------------------#QUERY TUNING#---------------------------------------------------------------------random_page_cost= 4.0#设置规划器对一次非顺序获取磁盘页面的代价估计。

默认值是 4.0。

effective_cache_size=8192MB#设置规划器对一个单一查询可用的有效磁盘缓冲区尺寸的假设。

这个参数会被考虑在使用一个索引的代价估计中,更高的数值会使得索引扫描更可能被使用,更低的数值会使得顺序扫描更可能被使用。

constraint_exclusion=partition#constraint_exclusion的允许值是on(对所有表检查约束)、off(从不检查约束)和partition(只对继承的子表和UNION ALL子查询检查约束)。

partition是默认设置。

它通常被用于继承和分区表来提高性能。

#---------------------------------------------------------------------#ERROR REPORTING AND LOGGING#---------------------------------------------------------------------log_destination='stderr'#PostgreSQL支持多种方法来记录换成状态信息。

log_rotation_age=1d#当logging_collector被启用时,这个参数决定一个个体日志文件的最长生命期。

autovacuum=on#控制服务器是否运行自动清理启动器后台进程。

默认为开启,不过要自动清理正常工作还需要启用track_counts。

log_autovacuum_min_duration=0#如果自动清理运行至少该值所指定的毫秒数,被自动清理执行的每一个动作都会被日志记录。

autovacuum_max_workers=8#指定能同时运行的自动清理进程(除了自动清理启动器之外)的最大数量。

默认值为3。

autovacuum_naptime=10s#指定自动清理在任意给定数据库上运行的最小延迟。

在每一轮中后台进程检查数据库并根据需要为数据库中的表发出VACUUM和ANALYZE命令。

autovacuum_vacuum_cost_delay=0#指定用于自动VACUUM操作中的代价延迟值。

如果指定-1(默认值),则使用vacuum_cost_delay值。

默认值为20毫秒。

datestyle='iso,ymd'#设置日期和时间值的显示格式,以及解释有歧义的日期输入值的规则。

timezone='PRC'#设置用于显示和解释时间戳的时区。

lc_messages='zh_CN.utf8'#设置消息显示的语言。

lc_monetary='zh_CN.utf8'#设置用于格式化货币量的区域,例如用to_char函数族。

lc_numeric='zh_CN.utf8'#设置用于格式化数字的区域,例如用to_char函数族。

可接受的值是系统相关的。

lc_time='zh_CN.utf8'#设置用于格式化日期和时间的区域,例如用to_char函数族。

default_text_search_config='pg_catalog.simple'##选择被那些没有显式参数指定配置的文本搜索函数变体使用的文本搜索配置deadlock_timeout=1s#这是进行死锁检测之前在一个锁上等待的总时间(以毫秒计)。

死锁检测相对昂贵,因此服务器不会在每次等待锁时都运行这个它。

#--------------------------------------------------------#ERROR HANDLING#--------------------------------------------------------restart_after_crash=off#当被设置为真(默认值)时,PostgreSQL将在一次后端崩溃后自动重新初始化。

除postgresql.conf之外,PostgreSQL数据目录还包含一个文件postgresql.auto.conf,它具有和postgresql.conf相同的格式但是不应该被手工编辑。

这个文件保存了通过ALTER SYSTEM命令提供的设置。

每当postgresql.conf被读取时这个文件会被自动读取,并且它的设置会以同样的方式生效。

postgresql.auto.conf中的设置会覆盖postgresql.conf中的设置。

pg_hba.conf配置pg_hba.conf文件的常用格式是一组记录,每行一条。

空白行将被忽略,#注释字符后面的任何文本也被忽略。

记录不能跨行。

一条记录由若干用空格和/或制表符分隔的域组成。

如果域值用双引号包围,那么它可以包含空白。

在数据库、用户或地址域中引用一个关键字(例如,all或replication)将使该词失去其特殊含义,并且只是匹配一个有该名字的数据库、用户或主机。

每条记录指定一种连接类型、一个客户端IP地址范围(如果和连接类型相关)、一个数据库名、一个用户名以及对匹配这些参数的连接使用的认证方法。

第一条匹配连接类型、客户端地址、连接请求的数据库和用户名的记录将被用于执行认证。

这个过程没有“落空”或者“后备”的说法:如果选择了一条记录而且认证失败,那么将不再考虑后面的记录。

如果没有匹配的记录,那么访问将被拒绝。

#允许来自任意具有IP地址#192.168.93.x的主机上任意#用户以ident为该连接所#报告的相同用户名连接到#数据库"postgres"#(通常是操作系统用户名)。

#TYPE DATABASE USER ADDRESS METHODhost postgres all192.168.93.0/24ident1.3启停服务启动服务:pg_ctl start停止服务:pg_ctl stop-m fast重新加载配置文件:pg_ctl reload(postgresql.conf配置文件中,有些参数需要重启数据库服务才可以生效)pg_ctl--help可以查看更多帮助信息。

相关主题