select open change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

SQLSTATE / CLASS 01 · WARNING

privilege_not_revoked

SQLSTATE
01006
Condition name
privilege_not_revoked
Class
Warning
Source macro
ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED
Evidence
Source path confirmed
Analysis & operational context

English SQLSTATE atlas: authored explanations and source/runtime evidence are separate from the manual definitions. View source ↗

<h1>01006 — privilege_not_revoked</h1>

At a glance

01006 has confirmed PostgreSQL 18.6 WARNING paths in src/backend/catalog/aclchk.c for REVOKE. It reports a partial or empty privilege change; the command can complete while sending the warning.

Meaning

The confirmed 18.6 implementation is the ACL command path for REVOKE. It distinguishes no privilege revoked from not all privileges revoked and uses column-specific and object-specific templates.

Messages and diagnostics

The fixed 18.6 paths use these primary templates: no privileges could be revoked for column "%s" of relation "%s", no privileges could be revoked for "%s", not all privileges could be revoked for column "%s" of relation "%s", and not all privileges could be revoked for "%s". They have no detail or hint in the resolved groups.

Diagnosis

Record whether the target was a column or an object and the resolved relation/object name. In the fixed aclchk.c function, this_privileges is the requested set intersected with the effective grantor's available grant options. The REVOKE warning is none when that mask is zero, and partial when !all_privs and the mask differs from the request; this warning branch does not inspect the grantee's old ACL. Inspect the effective grantor, grant options, requested privileges, and then the resulting ACL separately. A WARNING is distinct from an ERROR that aborts the command.

Response

Treat the command result and warning separately. If the intended access change was not achieved, correct the target role/object or requested privilege and verify the resulting ACL; repeating REVOKE without changing the mismatch may produce the same warning.

Versions

01006 is present from the locked 9.0.23 snapshot through 18.6 and 19 Beta 3, with known_present_by 8.0.0. The fixed 18.6 warning paths are in aclchk.c; this is not a claim that every historical version used identical wording.

Sources

  • errcodes.txt — definition, SHA-256 6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba.
  • aclchk.c — fixed path, SHA-256 9700258318959b47c42edb423418fb511dd3a008023e732f601eecf4c80868f8.
  • Structured evidence — fixed sources, message groups, and runtime boundary.

Source evidence

Evidence belongs to the frozen source and runtime versions listed here. It is not a runtime verification of the selected manual version.

01006 is privilege_not_revoked in SQLSTATE Class 01.

Method: Read the fixed errcodes definition row and macro.

src.errcodes.18.6

A fixed PostgreSQL 18.6 source path uses this SQLSTATE at the stated severity and operation.

Method: Read the fixed source context around the SQLSTATE macro.

Limits: This confirms a source path and current wording; it is not a runtime observation of every installation.

src.aclchk.18.6

The fixed aclchk.c function computes this_privileges as the requested privilege set intersected with the effective grantor's available grant options. The REVOKE none branch warns when that mask is zero; the partial branch warns when !all_privs and the mask differs from the request. This warning branch does not inspect the grantee's old ACL; the resulting ACL must be checked separately.

Method: Read restrict_and_check_grant() and its fixed {op} report branches around aclchk.c lines 318-382.

Limits: This is a source-level warning condition; it does not claim a natural runtime or prescribe a universal role/ACL setup.

src.aclchk.18.6

Message templates

WARNING · src.aclchk.18.6

Primary

no privileges could be revoked for column "%s" of relation "%s"
WARNING · src.aclchk.18.6

Primary

no privileges could be revoked for "%s"
WARNING · src.aclchk.18.6

Primary

not all privileges could be revoked for column "%s" of relation "%s"
WARNING · src.aclchk.18.6

Primary

not all privileges could be revoked for "%s"

Reproduction & repair cases

No reproduction case is attached to this condition.

Recorded runtime evidence

No runtime observation is attached to this entry.

Definition snapshot: english-manuals:ea21f40c856206b4c7f8256d720… · English manual source