↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / SQLSTATE

2B000 — dependent_privilege_descriptors_still_exist(依赖权限描述符仍存在)

仍存在依赖的权限描述符,对象依赖见 2BP01。

英文手册覆盖始于 PostgreSQL 8.1. 来源历史与运行验证各自保留独立版本边界。

当前阅读 PG 18·选择有来源记录的版本

aliases
未知
class name
Dependent Privilege Descriptors Still Exist
condition name
dependent_privilege_descriptors_still_exist
lang
en
sqlstate
2B000

版本定义 PG 18

2B000 — dependent_privilege_descriptors_still_exist(依赖权限描述符仍存在)

速览 {#at-a-glance}

2B000 是目录定义中的依赖权限描述符条件。本批固定源码扫描没有解析出独立的核心 2B000 抛出点,因此本页只记录定义边界,不把角色、REVOKE 或 DROP 结果擅自标成 2B000。普通对象依赖见 2BP01。

含义 {#meaning}

2B000 表示 2B 类中的依赖权限描述符条件。固定的 PostgreSQL 18.6 调用扫描没有解析出独立的核心 ereport 路径,因此必须把它与依赖对象仍存在的 2BP01,以及 42501、0LP01 等具体授权/授权操作错误分开。

诊断 {#diagnosis}

如果扩展或特定版本路径报告该码,应保留组件指出的对象或权限描述符,并收集主报文、DETAIL、HINT。不能从失败的 DROP 或 GRANT 推断出 2B000:固定核心扫描没有选定的自然触发器;代表性对象依赖路径由依赖遍历器报告 2BP01。

处理 {#response}

不能只凭类别名执行 DROP ... CASCADE、撤销权限或重试。先找出拥有该描述符的组件,按其文档修复,再核对 ACL/依赖状态。在解析出真实服务器路径前,这一页只是源码/定义边界,不能保证普通 SQL 事务能产生 2B000。

版本 {#versions}

上面的锁定事实表记录项目快照范围内的目录存在情况。固定源码证据只覆盖下面声明的路径;不能仅从定义推导精确行为引入版本或更广的运行覆盖。

相关 {#related}

可对照2BP01 依赖对象仍存在;两者属于不同源码类别。

来源 {#sources}

  • src.errcodes.18.6(SHA-256 6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba)
  • 固定调用扫描 src.calls.REL_18_6(SHA-256 9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf)

比较版本

SQLSTATE 证据与已记录的运行版本

cases · dependent_privilege_boundary
{
  "assertions": [],
  "case_id": "dependent_privilege_boundary",
  "cleanup": "Drop the case schema with an owner connection.",
  "has_snippet": false,
  "position": 0,
  "preconditions": [
    "A runner-owned disposable target is provisioned."
  ],
  "repair": "Inspect dependent privileges and choose an explicit revoke/ownership operation; do not relabel a dependent-object DROP as 2B000.",
  "trigger": "No artificial privilege-revocation case is executed.",
  "versions": [
    "10",
    "18"
  ]
}
claims · identity
{
  "claim_id": "identity",
  "limits": "This records the protocol definition and does not imply a natural PostgreSQL throw path.",
  "method": "Read the fixed errcodes.txt row and macro mapping.",
  "position": 0,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "2B000 is the dependent_privilege_descriptors_still_exist condition in Class 2B."
}
claims · no-safe-natural-case
{
  "claim_id": "no-safe-natural-case",
  "limits": "This is a bounded source/definition result, not proof that every extension or injected fault cannot emit the code.",
  "method": "Review the fixed call scan for resolved 2B000 call groups and reject artificial RAISE or relabeling.",
  "position": 1,
  "runtime": [],
  "sources": [
    "src.calls.REL_18_6"
  ],
  "statement": "No distinct safe natural core runtime case for 2B000 was selected from the fixed call scan."
}
sources · src.errcodes.18.6
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/backend/utils/errcodes.txt",
  "position": 0,
  "sha256": "6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba",
  "source_id": "src.errcodes.18.6",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt"
}
sources · src.calls.REL_18_6
{
  "commit": "",
  "docs_url": "",
  "kind": "local_artifact",
  "location": "",
  "path": "raw/calls/REL_18_6.jsonl",
  "position": 1,
  "sha256": "9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf",
  "source_id": "src.calls.REL_18_6",
  "tag": "",
  "url": ""
}

来源引用

完整定义与证据 JSON

定义来源

center · PostgreSQL 18 · english-manuals:e6deaa8718adb16adf2c749e75e6bfe1c240b6ee9c98479cb900d220e78efd3d

正文语言: zh-Hans · english-manuals:e6deaa8718adb16adf2c749e75e6bfe1c240b6ee9c98479cb900d220e78efd3d