PostgreSQL 10.1 手册_部分 III. 服务器管理_第 19 章 服务器配置_19.17. 开发者选项

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 19.17. 开发者选项 下面的参数目的是用在PostgreSQL源代码上, 并且在某些情况下可以帮助恢复严重损坏了的数据库。在一个生产数据库中没有理由使用它们。同样,它们被从例子postgresql.conf文件中排除。

19.17. 开发者选项

下面的参数目的是用在PostgreSQL源代码上, 并且在某些情况下可以帮助恢复严重损坏了的数据库。在一个生产数据库中没有理由使用它们。同样,它们被从例子postgresql.conf文件中排除。请注意许多这些参数要求特殊的源代码编译标志才能工作。

allow_system_table_mods (boolean)

允许对系统表结构的修改。它可以被initdb使用。这个参数只能在服务器启动时设置。

ignore_system_indexes (boolean)

读取系统表时忽略系统索引(但是修改系统表时依然同时更新索引)。这在从被破坏的系统索引中恢复数据的时有用。这个参数在会话开始之后不能被更改。

post_auth_delay (integer)

如果为非零,那么在一个新的服务器进程派生出来之后并且在它开始认证过程之前,就会发生这么多秒的延迟。这是为了给开发者们一个机会在一个服务器进程上附加一个调试器。这个参数在会话开始之后不能被更改。

pre_auth_delay (integer)

如果为非零,那么在一个新的服务器进程派生出来之后并且在它开始认证过程之前,就会发生这么多秒的延迟。这是为了给开发者们一个机会在一个服务器进程上附加一个调试器来跟踪认证过程中的不当行为。这个参数只能在postgresql.conf文件中或在服务器命令行上设置。

trace_notify (boolean)

LISTENNOTIFY命令生成大量调试输出。client_min_messageslog_min_messages必须是DEBUG1或者更低才能把这种输出分别发送到客户端或者服务器日志。

trace_recovery_messages (enum)

启用记录与恢复有关的调试输出,否则无法记录。这个参数允许用户覆盖log_min_messages的正常设置,但只用于指定的消息。这个参数的目的是用来调试热后备。有效值包括DEBUG5DEBUG4DEBUG3DEBUG2DEBUG1LOG。默认值LOG完全不会影响日志决定。其他值会记录相关级别或更高级别的与恢复相关的调试消息,就好像它们具有LOG优先级一样;对于log_min_messages的通用设置,这会无条件的将消息发送给服务器日志。这个参数只能在postgresql.conf文件中或在服务器命令行上设置。

trace_sort (boolean)

如果打开,发出在排序操作中的资源使用的相关信息。只有在编译PostgreSQL时定义了TRACE_SORT宏, 这个参数才可用(不过,当前在默认情况下就定义了TRACE_SORT)。

trace_locks (boolean)

如果开启,发出锁使用情况的信息。被转储信息中包括锁操作的类型、锁的类型和 被锁或被解锁对象的唯一标识符。同样包括的还有已经授予这个对象的锁类型的位掩码和 等待这个对象的锁类型的位掩码。对每一种锁类型,已授权锁和等待锁的计数也会被一起转储。一个日志文件输出的例子如下:

LOG:  LockAcquire: new: lock(0xb7acd844) id(24688,24696,0,0,0,1)
      grantMask(0) req(0,0,0,0,0,0,0)=0 grant(0,0,0,0,0,0,0)=0
      wait(0) type(AccessShareLock)
LOG:  GrantLock: lock(0xb7acd844) id(24688,24696,0,0,0,1)
      grantMask(2) req(1,0,0,0,0,0,0)=1 grant(1,0,0,0,0,0,0)=1
      wait(0) type(AccessShareLock)
LOG:  UnGrantLock: updated: lock(0xb7acd844) id(24688,24696,0,0,0,1)
      grantMask(0) req(0,0,0,0,0,0,0)=0 grant(0,0,0,0,0,0,0)=0
      wait(0) type(AccessShareLock)
LOG:  CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
      grantMask(0) req(0,0,0,0,0,0,0)=0 grant(0,0,0,0,0,0,0)=0
      wait(0) type(INVALID)

被转储结构的详细信息可以在src/include/storage/lock.h中找到。

只有在编译PostgreSQL时定义了LOCK_DEBUG宏, 这个参数才可用。

trace_lwlocks (boolean)

如果开启,发出轻量级锁的使用信息。轻量级锁主要是为了提供对共享内存数据结构的互斥访问。

只有在编译PostgreSQL时定义了LOCK_DEBUG宏, 这个参数才可用。

trace_userlocks (boolean)

如果开启,发出关于用户锁使用的信息。与trace_locks的输出一样,但只用于咨询锁。

只有在编译PostgreSQL时定义了LOCK_DEBUG宏, 这个参数才可用。

trace_lock_oidmin (integer)

如果设置,不会跟踪小于这个 OID 的锁(用于避免在系统表上的输出)。

只有在编译PostgreSQL时定义了LOCK_DEBUG宏, 这个参数才可用。

trace_lock_table (integer)

无条件地跟踪此表(OID)上的锁。

只有在编译PostgreSQL时定义了LOCK_DEBUG宏, 这个参数才可用。

debug_deadlocks (boolean)

如果设置,当死锁超时发生时,转储所有当前锁的信息。

只有在编译PostgreSQL时定义了LOCK_DEBUG宏, 这个参数才可用。

log_btree_build_stats (boolean)

如果设置,会记录 B 树操作上的系统资源使用情况统计(内存和 CPU)。

只有在编译PostgreSQL时定义了BTREE_BUILD_STATS宏, 这个参数才可用。

wal_consistency_checking (string)

此参数旨在用于检查WAL重做例程中的错误。启用时, 与WAL记录一起修改的任何缓冲区的全页图像都会添加到记录中。 如果记录随后重播,则系统将首先应用每条记录, 然后测试记录修改的缓冲区是否与存储的图像匹配。在某些情况下(如提示位), 较小的变化是可以接受的,并且将被忽略。 任何意想不到的差异都会导致致命的错误,终止恢复。

此设置的默认值是空字符串,它将禁用该功能。可以将它设置为 all以检查所有记录,或者资源管理器的逗号分隔列表, 以仅检查源自这些资源管理器的记录。目前,支持的资源管理器是 heapheap2btreehash、 gingistsequence、 spgistbringeneric。 只有超级用户可以更改此设置。

wal_debug (boolean)

如果被打开,WAL 相关的调试输出将被发出。只有在编译PostgreSQL时定义了WAL_DEBUG宏的情况下,这个参数才可用。

ignore_checksum_failure (boolean)

只有当data checksums被启用时才有效。

在读取过程中检测到一次校验码失败通常会导致PostgreSQL报告一个错误。设置ignore_checksum_failure为打开会导致系统忽略失败(但是仍然报告一个警告),并且继续执行。这种行为可能导致崩溃、传播或隐藏损坏或者其他严重的问题。但是,它允许你绕过错误并且在块头部仍然健全的情况下从表中检索未损坏的元组。如果头部被损坏,即便这个选项被启用系统也将报告一个错误。默认设置是off,并且只能被超级用户改变。

zero_damaged_pages (boolean)

检测到一个损坏的页面头部通常会导致PostgreSQL报告一个错误,并且中止当前事务。把zero_damaged_pages设置为打开会让系统报告一个警告、把损坏的页面填充零,然后继续处理。这种行为会毁掉数据,即被损坏页面上的所有行。但是它允许你绕开错误并且从可能存在表中的任何未损坏页面中检索行。如果由于一次硬件或软件错误而发生毁坏,这种方法可用于恢复数据。通常你不应该把它设置为打开,除非你已经彻底放弃从表的损坏页面中恢复数据。被填充零的页面不会被强制到磁盘上,因此我们推荐在再次关闭这个参数之前先重建表或索引。默认的设置是off,并且只有超级用户可以改变它。

本文转自PostgreSQL中文社区,原文链接:19.17. 开发者选项

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
5月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
204 0
|
1月前
|
人工智能 API 开发者
FastAPI开发者福音!FastAPI-MCP:将FastAPI秒变MCP服务器的开源神器,无需配置自动转换!
FastAPI-MCP是一款能将FastAPI应用端点自动转换为符合模型上下文协议(MCP)的开源工具,支持零配置自动发现接口并保留完整文档和模式定义。
774 71
FastAPI开发者福音!FastAPI-MCP:将FastAPI秒变MCP服务器的开源神器,无需配置自动转换!
|
2月前
|
安全 Java Linux
Websoft9:为开发者打造的高效 Linux 服务器面板
Websoft9 是一款以开源应用部署与管理为核心的服务器面板,采用“环境即服务”模式。它通过运行环境标准化、自动化配置、安全融合和资源管理四个方面实现平台与环境的深度协同。支持多语言框架预集成、云原生组件整合,提供 200+ 应用模板一键部署,并具备全流程安全防护和统一资源监控能力,助力开发者高效管理和扩展应用环境。
78 0
|
2月前
|
人工智能 安全 大数据
【限时特惠】阿里云服务器7折抢购!高性能+高性价比,开发者与企业必备攻略
阿里云服务器限时7折特惠,高性能、高性价比,为开发者和企业量身打造!新老用户均可参与,灵活配置满足多种需求,全球节点低延迟覆盖。自研神龙架构保障稳定性,安全防护全面,操作便捷,生态丰富。适用于个人开发、企业部署、跨境业务及AI计算等场景。点击专属链接立即抢购,活动名额有限,速来享受云端算力带来的高效体验!
63 0
|
2月前
|
Java Linux 网络安全
基于云服务器的数仓搭建-服务器配置
本文介绍了购置并配置三台云服务器的详细步骤。使用FinalShell连接服务器,并安装了必要的工具如epel-release、net-tools和vim。关闭防火墙后,在/opt目录下创建module和software文件夹,卸载默认JDK并修改主机名。添加环境变量路径/home/alpfree/bin,编写集群分发脚本xsync实现文件同步,配置无密登录,安装并分发JDK。参考资料来自海波老师的电商数仓课程。
76 1
|
11月前
|
弹性计算 缓存 安全
阿里云服务器ECS收费标准参考,2核4G配置ECS实例规格整理
阿里云提供多种2核4G ECS实例,如计算型c7、经济型e、u1等,价格不等,从68.0元/月到203.0元/月。ECS通用算力型u1实例采用高性能Intel处理器,网络收发包能力达30万PPS。经济型e实例基于Intel Xeon Platinum,适合入门级需求。2核4G服务器支持的并发访问人数依赖于软件效率、带宽、应用架构和用户行为等因素。更多信息请查看阿里云ECS产品页。
369 1
|
存储 弹性计算 固态存储
阿里云服务器CPU内存配置详细指南,如何选择合适云服务器配置?
阿里云服务器配置选择涉及CPU、内存、公网带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型e实例,如2核2G3M配置,适合低流量网站。企业用户则应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。选择时考虑实际应用需求和性能稳定性。
1507 6
|
7月前
|
弹性计算 并行计算 数据库
阿里云服务器多少钱一年?整理2024年最新爆款服务器配置排行榜,共7台!
阿里云2024年服务器最新价格出炉,涵盖ECS云服务器与轻量应用服务器多款配置,如2核2G 79元/年起、2核4G配置199元一年、4核8G 955元/年等,满足不同需求。详情及购买链接见正文。
1191 1
|
7月前
|
弹性计算 程序员 应用服务中间件
和开发者聊完,我们做了2个ECS更新
和开发者聊完,我们做了2个ECS更新
80 2
|
10月前
|
弹性计算 Java 应用服务中间件
云服务器 ECS产品使用问题之变更服务器配置时一直显示400异常报错,该怎么办
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。