19.17. 开发人员选项

以下参数旨在用于 PostgreSQL 源代码,并且在某些情况下有助于恢复严重受损的数据库。应该没有理由在生产数据库上使用它们。因此,它们已从示例postgresql.conf文件中排除。请注意,这些参数中的许多参数都需要特殊的源代码编译标志才能完全起作用。

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宏时,此参数才可用。

仅当在编译 PostgreSQL 时定义了LOCK_DEBUG宏时,此参数才可用。

仅当在编译 PostgreSQL 时定义了LOCK_DEBUG宏时,此参数才可用。

仅当在编译 PostgreSQL 时定义了LOCK_DEBUG宏时,此参数才可用。

仅当在编译 PostgreSQL 时定义了LOCK_DEBUG宏时,此参数才可用。

仅当在编译 PostgreSQL 时定义了LOCK_DEBUG宏时,此参数才可用。

仅当在编译 PostgreSQL 时定义了BTREE_BUILD_STATS宏时,此参数才可用。

此设置的默认值为空字符串,该字符串将禁用该功能。可以将其设置为all以检查所有记录,也可以将其设置为以逗号分隔的资源 Management 器列表以仅检查源自那些资源 Management 器的记录。当前,受支持的资源 Management 器是heapheap2btreehashgingistsequencespgistbringeneric。只有超级用户可以更改此设置。

在读取期间检测到校验和失败通常会导致 PostgreSQL 报告错误,从而中止当前事务。将ignore_checksum_failure设置为 on 将导致系统忽略故障(但仍报告警告),并 continue 处理。此行为可能导致崩溃,传播或隐藏损坏或其他严重问题。但是,它可以使您克服错误并检索未损坏的 Tuples,如果块头仍然健全,则该 Tuples 可能仍存在于表中。如果标题损坏,即使启用此选项,也会报告错误。默认设置为off,并且只能由超级用户更改。

上一章 首页 下一章