1. 基本配置
序号 | 属性名 | 默认值 | 描述 |
1 | listen_addresses | 'localhost' | PostgreSQL服务器监听的IP地址列表。 |
2 | port | 5432 | PostgreSQL服务器监听的端口号。 |
3 | max_connections | 100 | 最大并发客户端连接数。 |
4 | shared_buffers | 128MB | 用于缓存表和索引数据的共享内存区大小。 |
5 | dynamic_shared_memory_type | posix | 共享内存的动态类型,可选值有:posix、sysv、windows。 |
6 | log_timezone | 'GMT' | 服务器日志的时区。 |
7 | timezone | 'GMT' | 数据库的默认时区。 |
2. 网络配置
序号 | 属性名 | 默认值 | 描述 |
8 | max_wal_senders | 10 | 最大的WAL(Write Ahead Logging)发送者数。 |
9 | wal_keep_size | 0 | WAL日志保留的最大大小(MB)。 |
10 | max_replication_slots | 10 | 复制槽的最大数量。 |
11 | tcp_keepalives_idle | 0 | TCP保持连接的空闲时间(秒)。 |
12 | tcp_keepalives_interval | 0 | TCP保持连接的时间间隔(秒)。 |
13 | tcp_keepalives_count | 0 | TCP保持连接的重试次数。 |
3. 安全配置
序号 | 属性名 | 默认值 | 描述 |
14 | ssl | off | 是否启用SSL连接。 |
15 | ssl_cert_file | '' | SSL证书文件的路径。 |
16 | ssl_key_file | '' | SSL密钥文件的路径。 |
17 | ssl_ca_file | '' | SSL CA证书的路径。 |
18 | password_encryption | scram-sha-256 | 默认的密码加密方式。 |
19 | authentication_timeout | 1min | 客户端认证超时时间。 |
4. 存储配置
序号 | 属性名 | 默认值 | 描述 |
20 | max_wal_size | 1GB | WAL日志的最大大小。 |
21 | min_wal_size | 80MB | WAL日志的最小大小。 |
22 | maintenance_work_mem | 64MB | 用于维护操作(如VACUUM、CREATE INDEX等)的工作内存大小。 |
23 | work_mem | 4MB | 每个排序操作或哈希表使用的内存大小。 |
24 | effective_cache_size | 4GB | PostgreSQL查询优化器预计可用于缓存的内存大小。 |
5. 性能优化配置
序号 | 属性名 | 默认值 | 描述 |
25 | autovacuum | on | 是否启用自动垃圾回收(VACUUM)。 |
26 | autovacuum_max_workers | 3 | 自动垃圾回收的最大工作线程数。 |
27 | autovacuum_naptime | 1min | 自动垃圾回收的休眠时间(秒)。 |
28 | effective_io_concurrency | 1 | 用于多路径设备或高I/O环境下的并发性。 |
29 | max_parallel_workers | 8 | 并行查询时的最大工作线程数。 |
6. 日志和监控配置
序号 | 属性名 | 默认值 | 描述 |
30 | logging_collector | off | 是否启用日志收集器,收集所有日志消息。 |
31 | log_directory | 'log' | 存储日志文件的目录。 |
32 | log_filename | 'postgresql-%Y-%m-%d_%H%M%S.log' | 日志文件的名称格式。 |
33 | log_statement | 'none' | 指定要记录的SQL语句类型(如none、ddl、mod、all)。 |
34 | log_min_duration_statement | -1 | 记录超过此时间(毫秒)的SQL语句,-1表示禁用。 |
35 | log_line_prefix | '%m [%p] ' | 每行日志前缀的格式。 |
36 | log_checkpoints | on | 是否记录检查点的开始和结束。 |
37 | log_connections | off | 是否记录每个客户端连接。 |
7. 复制配置
序号 | 属性名 | 默认值 | 描述 |
38 | wal_level | replica | WAL日志级别,可选minimal、replica、logical。 |
39 | synchronous_commit | on | 是否启用同步提交。 |
40 | archive_mode | off | 是否启用WAL归档模式。 |
41 | archive_command | '' | WAL日志归档时使用的命令。 |
42 | hot_standby | on | 是否允许只读查询在从服务器上执行。 |
8. 客户端连接配置
序号 | 属性名 | 默认值 | 描述 |
43 | client_encoding | 'UTF8' | 默认的客户端字符编码。 |
44 | default_transaction_isolation | 'read committed' | 默认的事务隔离级别。 |
45 | default_transaction_read_only | off | 是否将默认事务设置为只读。 |
46 | statement_timeout | 0 | 语句执行的最大时间(毫秒),0表示无超时。 |
9. 内存和缓存配置
序号 | 属性名 | 默认值 | 描述 |
47 | shared_buffers | 128MB | 用于缓存表和索引数据的共享内存区大小。 |
48 | temp_buffers | 8MB | 每个会话可使用的临时缓冲区大小。 |
49 | work_mem | 4MB | 每个排序操作或哈希表使用的内存大小。 |
50 | maintenance_work_mem | 64MB | 用于维护操作(如VACUUM、CREATE INDEX等)的工作内存大小。 |
这些配置项涵盖了PostgreSQL服务器中的主要配置选项。根据您的需求和工作负载,您可以调整这些配置来优化PostgreSQL的性能和安全性。不同版本的PostgreSQL可能会有配置项的变化或新增,建议根据版本的官方文档进行调整。