# SQLSTATE classes

> Browse PostgreSQL conditions by the first two characters of SQLSTATE.
---

The class index groups codes by the first two SQLSTATE characters. A class describes a broad condition family; it does not prove that every member has the same severity, transaction aftermath, or retry behavior.

The generated member list links to one canonical page per code. A member's class is directory identity; mechanism and recovery remain on the code page.

<!-- BEGIN SQLSTATE INDEX: generated by scripts/generate.py; do not edit -->

| Class | Name | Members |
| --- | --- | --- |
| [`00`](00/) | `Successful Completion` | [`00000`](../00000/) |
| [`01`](01/) | `Warning` | [`01000`](../01000/), [`01003`](../01003/), [`01004`](../01004/), [`01006`](../01006/), [`01007`](../01007/), [`01008`](../01008/), [`0100C`](../0100c/), [`01P01`](../01p01/) |
| [`02`](02/) | `No Data (this is also a warning class per the SQL standard)` | [`02000`](../02000/), [`02001`](../02001/) |
| [`03`](03/) | `SQL Statement Not Yet Complete` | [`03000`](../03000/) |
| [`08`](08/) | `Connection Exception` | [`08000`](../08000/), [`08001`](../08001/), [`08003`](../08003/), [`08004`](../08004/), [`08006`](../08006/), [`08007`](../08007/), [`08P01`](../08p01/) |
| [`09`](09/) | `Triggered Action Exception` | [`09000`](../09000/) |
| [`0A`](0a/) | `Feature Not Supported` | [`0A000`](../0a000/) |
| [`0B`](0b/) | `Invalid Transaction Initiation` | [`0B000`](../0b000/) |
| [`0F`](0f/) | `Locator Exception` | [`0F000`](../0f000/), [`0F001`](../0f001/) |
| [`0L`](0l/) | `Invalid Grantor` | [`0L000`](../0l000/), [`0LP01`](../0lp01/) |
| [`0P`](0p/) | `Invalid Role Specification` | [`0P000`](../0p000/) |
| [`0Z`](0z/) | `Diagnostics Exception` | [`0Z000`](../0z000/), [`0Z002`](../0z002/) |
| [`10`](10/) | `XQuery Error` | [`10608`](../10608/) |
| [`20`](20/) | `Case Not Found` | [`20000`](../20000/) |
| [`21`](21/) | `Cardinality Violation` | [`21000`](../21000/) |
| [`22`](22/) | `Data Exception` | [`22000`](../22000/), [`22001`](../22001/), [`22002`](../22002/), [`22003`](../22003/), [`22004`](../22004/), [`22005`](../22005/), [`22007`](../22007/), [`22008`](../22008/), [`22009`](../22009/), [`2200B`](../2200b/), [`2200C`](../2200c/), [`2200D`](../2200d/), [`2200F`](../2200f/), [`2200G`](../2200g/), [`2200H`](../2200h/), [`2200L`](../2200l/), [`2200M`](../2200m/), [`2200N`](../2200n/), [`2200S`](../2200s/), [`2200T`](../2200t/), [`22010`](../22010/), [`22011`](../22011/), [`22012`](../22012/), [`22013`](../22013/), [`22014`](../22014/), [`22015`](../22015/), [`22016`](../22016/), [`22018`](../22018/), [`22019`](../22019/), [`2201B`](../2201b/), [`2201E`](../2201e/), [`2201F`](../2201f/), [`2201G`](../2201g/), [`2201W`](../2201w/), [`2201X`](../2201x/), [`22021`](../22021/), [`22022`](../22022/), [`22023`](../22023/), [`22024`](../22024/), [`22025`](../22025/), [`22026`](../22026/), [`22027`](../22027/), [`2202E`](../2202e/), [`2202G`](../2202g/), [`2202H`](../2202h/), [`22030`](../22030/), [`22031`](../22031/), [`22032`](../22032/), [`22033`](../22033/), [`22034`](../22034/), [`22035`](../22035/), [`22036`](../22036/), [`22037`](../22037/), [`22038`](../22038/), [`22039`](../22039/), [`2203A`](../2203a/), [`2203B`](../2203b/), [`2203C`](../2203c/), [`2203D`](../2203d/), [`2203E`](../2203e/), [`2203F`](../2203f/), [`2203G`](../2203g/), [`22P01`](../22p01/), [`22P02`](../22p02/), [`22P03`](../22p03/), [`22P04`](../22p04/), [`22P05`](../22p05/), [`22P06`](../22p06/) |
| [`23`](23/) | `Integrity Constraint Violation` | [`23000`](../23000/), [`23001`](../23001/), [`23502`](../23502/), [`23503`](../23503/), [`23505`](../23505/), [`23514`](../23514/), [`23P01`](../23p01/) |
| [`24`](24/) | `Invalid Cursor State` | [`24000`](../24000/) |
| [`25`](25/) | `Invalid Transaction State` | [`25000`](../25000/), [`25001`](../25001/), [`25002`](../25002/), [`25003`](../25003/), [`25004`](../25004/), [`25005`](../25005/), [`25006`](../25006/), [`25007`](../25007/), [`25008`](../25008/), [`25P01`](../25p01/), [`25P02`](../25p02/), [`25P03`](../25p03/), [`25P04`](../25p04/) |
| [`26`](26/) | `Invalid SQL Statement Name` | [`26000`](../26000/) |
| [`27`](27/) | `Triggered Data Change Violation` | [`27000`](../27000/) |
| [`28`](28/) | `Invalid Authorization Specification` | [`28000`](../28000/), [`28P01`](../28p01/) |
| [`2B`](2b/) | `Dependent Privilege Descriptors Still Exist` | [`2B000`](../2b000/), [`2BP01`](../2bp01/) |
| [`2D`](2d/) | `Invalid Transaction Termination` | [`2D000`](../2d000/) |
| [`2F`](2f/) | `SQL Routine Exception` | [`2F000`](../2f000/), [`2F002`](../2f002/), [`2F003`](../2f003/), [`2F004`](../2f004/), [`2F005`](../2f005/) |
| [`34`](34/) | `Invalid Cursor Name` | [`34000`](../34000/) |
| [`38`](38/) | `External Routine Exception` | [`38000`](../38000/), [`38001`](../38001/), [`38002`](../38002/), [`38003`](../38003/), [`38004`](../38004/) |
| [`39`](39/) | `External Routine Invocation Exception` | [`39000`](../39000/), [`39001`](../39001/), [`39004`](../39004/), [`39P01`](../39p01/), [`39P02`](../39p02/), [`39P03`](../39p03/) |
| [`3B`](3b/) | `Savepoint Exception` | [`3B000`](../3b000/), [`3B001`](../3b001/) |
| [`3D`](3d/) | `Invalid Catalog Name` | [`3D000`](../3d000/) |
| [`3F`](3f/) | `Invalid Schema Name` | [`3F000`](../3f000/) |
| [`40`](40/) | `Transaction Rollback` | [`40000`](../40000/), [`40001`](../40001/), [`40002`](../40002/), [`40003`](../40003/), [`40P01`](../40p01/) |
| [`42`](42/) | `Syntax Error or Access Rule Violation` | [`42000`](../42000/), [`42501`](../42501/), [`42601`](../42601/), [`42602`](../42602/), [`42611`](../42611/), [`42622`](../42622/), [`42701`](../42701/), [`42702`](../42702/), [`42703`](../42703/), [`42704`](../42704/), [`42710`](../42710/), [`42712`](../42712/), [`42723`](../42723/), [`42725`](../42725/), [`42803`](../42803/), [`42804`](../42804/), [`42809`](../42809/), [`42830`](../42830/), [`42846`](../42846/), [`42883`](../42883/), [`428C9`](../428c9/), [`42939`](../42939/), [`42P01`](../42p01/), [`42P02`](../42p02/), [`42P03`](../42p03/), [`42P04`](../42p04/), [`42P05`](../42p05/), [`42P06`](../42p06/), [`42P07`](../42p07/), [`42P08`](../42p08/), [`42P09`](../42p09/), [`42P10`](../42p10/), [`42P11`](../42p11/), [`42P12`](../42p12/), [`42P13`](../42p13/), [`42P14`](../42p14/), [`42P15`](../42p15/), [`42P16`](../42p16/), [`42P17`](../42p17/), [`42P18`](../42p18/), [`42P19`](../42p19/), [`42P20`](../42p20/), [`42P21`](../42p21/), [`42P22`](../42p22/) |
| [`44`](44/) | `WITH CHECK OPTION Violation` | [`44000`](../44000/) |
| [`53`](53/) | `Insufficient Resources` | [`53000`](../53000/), [`53100`](../53100/), [`53200`](../53200/), [`53300`](../53300/), [`53400`](../53400/) |
| [`54`](54/) | `Program Limit Exceeded` | [`54000`](../54000/), [`54001`](../54001/), [`54011`](../54011/), [`54023`](../54023/) |
| [`55`](55/) | `Object Not In Prerequisite State` | [`55000`](../55000/), [`55006`](../55006/), [`55P02`](../55p02/), [`55P03`](../55p03/), [`55P04`](../55p04/) |
| [`57`](57/) | `Operator Intervention` | [`57000`](../57000/), [`57014`](../57014/), [`57P01`](../57p01/), [`57P02`](../57p02/), [`57P03`](../57p03/), [`57P04`](../57p04/), [`57P05`](../57p05/) |
| [`58`](58/) | `System Error (errors external to PostgreSQL itself)` | [`58000`](../58000/), [`58030`](../58030/), [`58P01`](../58p01/), [`58P02`](../58p02/), [`58P03`](../58p03/) |
| [`72`](72/) | `Snapshot Failure` | [`72000`](../72000/) |
| [`F0`](f0/) | `Configuration File Error` | [`F0000`](../f0000/), [`F0001`](../f0001/) |
| [`HV`](hv/) | `Foreign Data Wrapper Error (SQL/MED)` | [`HV000`](../hv000/), [`HV001`](../hv001/), [`HV002`](../hv002/), [`HV004`](../hv004/), [`HV005`](../hv005/), [`HV006`](../hv006/), [`HV007`](../hv007/), [`HV008`](../hv008/), [`HV009`](../hv009/), [`HV00A`](../hv00a/), [`HV00B`](../hv00b/), [`HV00C`](../hv00c/), [`HV00D`](../hv00d/), [`HV00J`](../hv00j/), [`HV00K`](../hv00k/), [`HV00L`](../hv00l/), [`HV00M`](../hv00m/), [`HV00N`](../hv00n/), [`HV00P`](../hv00p/), [`HV00Q`](../hv00q/), [`HV00R`](../hv00r/), [`HV010`](../hv010/), [`HV014`](../hv014/), [`HV021`](../hv021/), [`HV024`](../hv024/), [`HV090`](../hv090/), [`HV091`](../hv091/) |
| [`P0`](p0/) | `PL/pgSQL Error` | [`P0000`](../p0000/), [`P0001`](../p0001/), [`P0002`](../p0002/), [`P0003`](../p0003/), [`P0004`](../p0004/) |
| [`XX`](xx/) | `Internal Error` | [`XX000`](../xx000/), [`XX001`](../xx001/), [`XX002`](../xx002/) |

<!-- END SQLSTATE INDEX -->

---

Backlinks:

- [SQLSTATE Atlas](/)
