博客
关于我
PostgreSQL配置文件--其他
阅读量:797 次
发布时间:2023-03-03

本文共 2762 字,大约阅读时间需要 9 分钟。

9 CLIENT CONNECTION DEFAULTS

9.1 Statement Behavior

9.1.1 search_path

默认的搜索路径为 "$user", public。当以用户登录数据库时,PostgreSQL会优先查找与用户用户名相同的数据库。如果不存在该数据库,系统会继续检查publicschema。

9.1.2 default_tablespace

默认表空间为空字符串 '',表示会使用系统默认值。这使得PostgreSQL能够兼容不同的表空间配置。

9.1.3 temp_tablespaces

默认临时表空间列表为空字符串 '',表示会使用系统默认值。临时表空间用于存储临时表和索引,这对于执行长时间运行的查询非常重要。

9.1.4 default_transaction_isolation

默认事务隔离级别为 read committed。PostgreSQL支持四种隔离级别:Read uncommitted、Read committed、Repeatable read、Serializable。选择合适的隔离级别取决于应用的需求,以防止并发事务中的数据不一致。

9.1.5 其他默认设置

  • check_function_bodies = on:检查函数体是否在数据库中存储。
  • default_transaction_read_only = off:默认事务不只读。
  • default_transaction_deferrable = off:默认事务不可延迟。
  • session_replication_role = 'origin':用于复制场景的角色设置。
  • statement_timeout = 0:在毫秒为单位的时间限制,0表示禁用。
  • lock_timeout = 0:在毫秒为单位的锁定时间,0表示禁用。
  • idle_in_transaction_session_timeout = 0:在毫秒为单位的空闲事务会话超时,0表示禁用。
  • vacuum_freeze_min_age = 50000000:优化后台清理机制。
  • vacuum_freeze_table_age = 150000000:默认表的清理策略。
  • vacuum_multixact_freeze_min_age = 5000000:多行事务的清理设置。
  • vacuum_multixact_freeze_table_age = 150000000:多行事务表的清理策略。
  • bytea_output = 'hex':二进制数据的输出格式。
  • xmlbinary = 'base64':XML数据的二进制表示。
  • xmloption = 'content':XML数据的存储选项。
  • gin_fuzzy_search_limit = 0:GIN索引的模糊搜索限制。
  • gin_pending_list_limit = 4MB:GIN索引的待处理列表大小。

9.2 Locale and Formatting

9.2.1 日期和时间设置

  • datestyle = 'iso, mdy':日期格式为ISO标准,包含年月日。
  • intervalstyle = 'postgres':间隔风格遵循PostgreSQL标准。
  • timeZone = 'PRC':默认时区为中国标准时间。
  • timeZone_abbreviations = 'Default':可选的时区简写,包括默认、澳大利亚、印度等。

9.2.2 地理和货币设置

  • locale = en_US.UTF-8:系统错误信息的语言环境。
  • lc_monetary = en_US.UTF-8:货币格式的语言环境。
  • lc_numeric = en_US.UTF-8:数字格式的语言环境。
  • lc_time = en_US.UTF-8:时间格式的语言环境。

9.2.3 文本搜索

  • default_text_search_config = 'pg_catalog.english':默认文本搜索配置。

9.2.4 其他配置

  • dynamic_library_path = '$libdir':动态库的路径。
  • local_preload_libraries = '':本地预加载库。
  • session_preload_libraries = '':会话预加载库。

10 LOCK MANAGEMENT

10.1 deadlock_timeout

默认死锁超时为 1s。在检查死锁前,PostgreSQL会等待指定时间。如果死锁检查代价较高,可以适当延长deadlock_timeout。

10.2 其他锁设置

  • max_locks_per_transaction = 64:事务内最大锁数量,需重启数据库更改。
  • max_pred_locks_per_transaction = 64:预读锁量。
  • max_pred_locks_per_relation = -2:关系锁限制。
  • max_pred_locks_per_page = 2:每页预读锁量。

11 VERSION/PLATFORM COMPATIBILITY

11.1 以前的PostgreSQL版本

  • array_nulls = on:允许数组包含null。
  • backslash_quote = safe_encoding:处理反斜杠。
  • default_with_oids = off:是否包含对象ID。
  • escape_string_warning = on:警告字符串转义。
  • lo_compat_privileges = off:兼容旧版本权限。
  • operator_precedence_warning = off:操作符优先级警告。
  • quote_all_identifiers = off:标识符是否总是加引号。
  • standard_conforming_strings = on:字符串是否符合标准。
  • synchronize_seqscans = on:序列扫描是否同步。

11.2 其他平台和客户端

  • transform_null_equals = off:是否将null替换为空值。

12 ERROR HANDLING

  • exit_on_error = off:错误是否会终止会话。
  • restart_after_crash = on:后端崩溃后是否重新初始化。

13 CONFIG FILE INCLUDES

  • include_dir = 'conf.d':包含以.conf结尾的文件。
  • include_if_exists = 'exists.conf':仅包含存在的文件。
  • include = 'special.conf':包含指定文件。

转载地址:http://epxfk.baihongyu.com/

你可能感兴趣的文章
PostgreSQL和Oracle两种数据库有啥区别?如何选择?
查看>>
Qt开发——多线程网络时间服务器端
查看>>
Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入
查看>>
PostgreSQL在何处处理 sql查询之四
查看>>
postgresql基本使用
查看>>
PostgreSQL学习总结(10)—— PostgreSQL 数据库体系架构
查看>>
PostgreSQL学习总结(11)—— PostgreSQL 常用的高可用集群方案
查看>>
Qt开发——多线程网络时间客户端
查看>>
PostgreSQL学习总结(13)—— PostgreSQL 15.8 如何成就数据库性能王者?
查看>>
PostgreSQL学习总结(13)—— PostgreSQL 目录结构与配置文件 postgresql.conf 详解
查看>>
PostgreSQL学习总结(1)—— PostgreSQL 入门简介与安装
查看>>
PostgreSQL学习总结(2)—— PostgreSQL 语法
查看>>
PostgreSQL学习总结(3)—— PostgreSQL 数据类型
查看>>
Qt开发——圆面积计算器
查看>>
PostgreSQL学习总结(5)—— PostgreSQL table 创建与删除
查看>>
PostgreSQL学习总结(6)—— PostgreSQL 模式(SCHEMA)详解
查看>>
PostgreSQL学习总结(7)—— PostgreSQL 语句 INSERT INTO、SELECT、UPDATE、DELETE 等学习
查看>>
PostgreSQL学习总结(8)—— PostgreSQL 基于数据库和基于模式(schema)的多租户分析
查看>>
PostgreSQL学习总结(9)—— PostgreSQL 运算符与表达式
查看>>
PostGreSql学习笔记001---PostgreSQL10.4安装(Windows)_支持PostGreGis_PostJDBC
查看>>