暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL系列04(编译参数和配置文件详解)

运维开发圈 2019-02-22
1209



PostgreSQL编译参数和配置文件详解

作者博客链接: http://blog.51cto.com/liyuanjie

  • 编译参数详解

  • 配置文件详解

  • 配置数据库服务器参数详解

  • [每日英语(Daily English Tips)(5)](#每日英语(Daily English Tips)(5))

编译参数详解

./configure编译参数详解

  • --prefix   指定安装目录。

  • --bindir       指定可执行程序的目录

  • --sysconfdir 默认设置各种配置文件的目录。

  • --libdir     设置安装库和动态可加载模块的位置。

  • --includedir 设置安装C和C ++头文件的目录

  • --datarootdir 设置各种类型的只读数据文件的根目录。share目录。

  • --datadir     设置已安装程序使用的只读数据文件的目录。默认值为DATAROOTDIR。

  • --localedir   设置用于安装区域设置数据的目录。默认值为DATAROOTDIR/locale。

  • --mandir        PostgreSQL附带的手册页将安装在这个目录下. man目录。

  • --docdir      设置安装文档文件的根目录。

  • --htmldir      PostgreSQL的HTML格式文档将安装在此目录下。默认值为DATAROOTDIR。

  • --with-extra-version = STRING  将STRING附加到PostgreSQL版本号

  • --with-libraries    用于搜索库。

  • --enable-nls           启用本机语言支持(NLS),即以英语以外的语言显示程序消息的功能。

  • --with-pgport        设置为服务器和客户端的默认端口号。默认值为5432。

  • --with-perl            支持perl语言。

  • --with-python          支持python语言。

  • --with-TCL            支持PL/Tcl语言。

  • --with-tclconfig    包含构建与Tcl接口的模块所需的配置信息。

  • --with-GSSAPI       构建支持GSSAPI身份验证。

  • --with-openssl        构建支持SSL(加密)连接

  • --with-pam            使用PAM(可插入身份验证模块)支持构建.

  • --with-ldap            使用LDAP支持构建身份验证和连接参数查找.

  • --without-readline    禁用psql中的命令行编辑和历史记录 .

  • --with-libedit-preferred  有利于使用BSD许可的libedit库.默认使用Readline。

  • --with-bonjour        使用Bonjour支持构建

  • --with-uuid=LIBRARY    使用指定的UUID库构建uuid-ossp模块.

  • --with-libxml        使用libxml构建(启用SQL/XML支持).

  • --with-libxslt        在构建xml2 模块时使用libxslt 。xml2依赖于此库来执行XML的XSL转换。

  • --disable-integer-datetimes   禁用对时间戳和间隔的64位整数存储的支持,并将日期时间值存储为浮点数。

  • --disable-float4-byval  禁用“按值”传递float4值,导致它们“通过引用”传递。此选项会降低性能.

  • --disable-float8-byval  禁用“按值”传递float8值,导致它们“通过引用”传递。此选项会降低性能.

  • --with-segsize=SEGSIZE   设置段大小,以千兆字节为单位。大表分为多个操作系统文件,每个文件的大小等于段大小。

  • --with-blocksize=BLOCKSIZE  设置块大小,以千字节为单位。这是表中的存储单元和I O. 默认值为8千字节

  • --with-wal-segsize=SEGSIZE  设置WAL段大小,以兆字节为单位。这是WAL日志中每个文件的大小。调整此大小以控制WAL日志传送的粒度可能很有用。默认大小为16兆字节。该值必须是1到64(兆字节)之间的2的幂.

  • --with-wal-blocksize=BLOCKSIZE  设置WAL块大小,以千字节为单位。这是WAL日志中的存储和I O单位。默认值为8千字节.该值必须是1到64(兆字节)之间的2的幂.

  • --disable-spinlocks  禁用环形锁。

  • --disable-thread-safety    禁用线程安全,禁用客户端库的线程安全性。

  • --with-system-tzdata=DIRECTORY
    PostgreSQL包含自己的时区数据库,它需要日期和时间操作.默认与linux时区兼容。

  • --without-zlib  防止使用Zlib 库。

  • --enable-debug   使用调试符号编译所有程序和库。

  • --enable-depend  启用自动依赖关系跟踪。

  • --enable-dtrace   编译PostgreSQL,支持动态跟踪工具DTrace。

  • --enable-tap-tests  使用Perl TAP工具启用测试。

配置文件详解

  • pg_hba.conf:配置对数据库的访问权限

  • postgresql.conf: 配置PostgreSQL数据库服务器的相应的参数。

  • pg_ident.conf: 用户名称映射的配置文件

  • 配置用户的访问权限(pg_hba.conf)

  $ vim data/pg_hba.conf 
  host  all    all    192.168.1.0/24    md5
  #允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验证
  host   all   all    0.0.0.0/0         trust

配置数据库服务器参数详解

$ vim data/postgresql.conf
max_connections = 100
shared_buffers = 128MB
dynamic_shared_memory_type = posix
#archive_mode = on
#archive_command = 'DATE=`date +%Y%m%d`; DIR="/services/databases/postgresql/postgresql-backup/walbackup/"; (test -d $DIR ||  mkdir -p $DIR)  && cp %p $DIR/%f'
log_timezone = 'PRC'
datestyle = 'iso, mdy'
timezone = 'PRC'
lc_messages = 'en_US.UTF-8'
lc_monetary = 'en_US.UTF-8'
lc_numeric = 'en_US.UTF-8'
lc_time = 'en_US.UTF-8'
default_text_search_config = 'pg_catalog.english'

data_directory = '/services/databases/postgresql/data'  
hba_file = '/services/databases/postgresql/data/pg_hba.conf'
ident_file = '/services/databases/postgresql/data/pg_ident.conf'
external_pid_file = '/services/databases/postgresql/logs/postgresql.pid'
listen_addresses = '*'
port = 5432
unix_socket_directories = '/tmp'
shared_buffers = 128MB
dynamic_shared_memory_type = posix
log_line_prefix = '%t [%p-%l] %q%u@%d'
stats_temp_directory ='/services/databases/postgresql/pg_stats_tmp'

将数据库服务器的监听模式修改为监听所有主机发出的连接请求

  $ vim data/postgresql.conf
  listen_addresses = '*'  #允许数据库服务器监听来自任何主机的连接请求

  • data_directory: 用于数据存储的目录

  • hba_file: 基于主机的身份验证文件

  • ident_file: 用户名称映射的配置文件

  • external_pid_file: 用于管理程序的额外进程pid文件.

  • listen_addresses: 允许数据库服务器监听来自哪些主机的连接请求

  • port: 监听数据库的TCP端口

  • unix_socket_directories: 监听来自客户端连接的unix域的套接字目录.

  • ssl: 是否启用SSL连接,启用为true,不启用false.

  • ssl_cert_file: 设置包含SSL服务器证书的文件路径.

  • ssl_key_file: 包含SSL服务器私钥的文件路径.

  • shared_buffers: 设置数据库服务器将使用的共享内存缓冲区量,默认值为128MB.

  • dynamic_shared_memory_type=posix: 指定服务器使用shm_open分配的POSIX共享内存。

  • log_line_prefix: 设置日志输出格式.

  • log_timezone: 设置数据库日志文件在写日志文件时使用的时区.

  • stats_temp_directory: 临时状态性文件.

  • datestyle: 日期风格,年月日.

  • timezone: 设置服务端和客户端时区。

  • lc_messages: 系统错误消息的语言。

  • lc_monetary: 设置货币值的显示格式的语言.

  • lc_numeric: 设置用于格式化数字的语言.

  • lc_time: 设置用于格式化时间日期的语言.

  • default_text_search_config: 选择文本搜索功能所使用的文本搜索配置.

  • archive_mode: 归档模式.

  • archive_command: 归档命令.

每日英语(Daily English Tips)(5)

what day is it?
It's Sunday.
What's your/her/his   name?
My name is Yuan.

Are you book?
It's my book.

I'm from China.
I'm Chinese.



往期文章精彩推荐:

   ansible系列第一篇(安装与配置)

   ansible系列第二篇(模块使用)

   ansible系列第三篇(playbook使用)

   ansible系列第四篇(经典用法)

   ansible系列第五篇(变量)

  百度云盘命令行客户端

  感悟2018与学习方法总结

  你如何才能抢到回家的票呢?github告诉你

  pg_rman物理备份和还原

  frp实现内网穿透

  你不得不掌握的Web服务基础



文章转载自运维开发圈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论