| Error Code | Condition Name |
|---|---|
| Class 00 — Successful Completion | |
00000 |
successful_completion |
| Class 01 — Warning | |
01000 |
warning |
0100C |
dynamic_result_sets_returned |
01008 |
implicit_zero_bit_padding |
01003 |
null_value_eliminated_in_set_function |
01007 |
privilege_not_granted |
01006 |
privilege_not_revoked |
01004 |
string_data_right_truncation |
01P01 |
deprecated_feature |
| Class 02 — No Data (this is also a warning class per the SQL standard) | |
02000 |
no_data |
02001 |
no_additional_dynamic_result_sets_returned |
| Class 03 — SQL Statement Not Yet Complete | |
03000 |
sql_statement_not_yet_complete |
| Class 08 — Connection Exception | |
08000 |
connection_exception |
08003 |
connection_does_not_exist |
08006 |
connection_failure |
08001 |
sqlclient_unable_to_establish_sqlconnection |
08004 |
sqlserver_rejected_establishment_of_sqlconnection |
08007 |
transaction_resolution_unknown |
08P01 |
protocol_violation |
| Class 09 — Triggered Action Exception | |
09000 |
triggered_action_exception |
| Class 0A — Feature Not Supported | |
0A000 |
feature_not_supported |
| Class 0B — Invalid Transaction Initiation | |
0B000 |
invalid_transaction_initiation |
| Class 0F — Locator Exception | |
0F000 |
locator_exception |
0F001 |
invalid_locator_specification |
| Class 0L — Invalid Grantor | |
0L000 |
invalid_grantor |
0LP01 |
invalid_grant_operation |
| Class 0P — Invalid Role Specification | |
0P000 |
invalid_role_specification |
| Class 0Z — Diagnostics Exception | |
0Z000 |
diagnostics_exception |
0Z002 |
stacked_diagnostics_accessed_without_active_handler |
| Class 20 — Case Not Found | |
20000 |
case_not_found |
| Class 21 — Cardinality Violation | |
21000 |
cardinality_violation |
| Class 22 — Data Exception | |
22000 |
data_exception |
2202E |
array_subscript_error |
22021 |
character_not_in_repertoire |
22008 |
datetime_field_overflow |
22012 |
division_by_zero |
22005 |
error_in_assignment |
2200B |
escape_character_conflict |
22022 |
indicator_overflow |
22015 |
interval_field_overflow |
2201E |
invalid_argument_for_logarithm |
22014 |
invalid_argument_for_ntile_function |
22016 |
invalid_argument_for_nth_value_function |
2201F |
invalid_argument_for_power_function |
2201G |
invalid_argument_for_width_bucket_function |
22018 |
invalid_character_value_for_cast |
22007 |
invalid_datetime_format |
22019 |
invalid_escape_character |
2200D |
invalid_escape_octet |
22025 |
invalid_escape_sequence |
22P06 |
nonstandard_use_of_escape_character |
22010 |
invalid_indicator_parameter_value |
22023 |
invalid_parameter_value |
22013 |
invalid_preceding_or_following_size |
2201B |
invalid_regular_expression |
2201W |
invalid_row_count_in_limit_clause |
2201X |
invalid_row_count_in_result_offset_clause |
2202H |
invalid_tablesample_argument |
2202G |
invalid_tablesample_repeat |
22009 |
invalid_time_zone_displacement_value |
2200C |
invalid_use_of_escape_character |
2200G |
most_specific_type_mismatch |
22004 |
null_value_not_allowed |
22002 |
null_value_no_indicator_parameter |
22003 |
numeric_value_out_of_range |
2200H |
sequence_generator_limit_exceeded |
22026 |
string_data_length_mismatch |
22001 |
string_data_right_truncation |
22011 |
substring_error |
22027 |
trim_error |
22024 |
unterminated_c_string |
2200F |
zero_length_character_string |
22P01 |
floating_point_exception |
22P02 |
invalid_text_representation |
22P03 |
invalid_binary_representation |
22P04 |
bad_copy_file_format |
22P05 |
untranslatable_character |
2200L |
not_an_xml_document |
2200M |
invalid_xml_document |
2200N |
invalid_xml_content |
2200S |
invalid_xml_comment |
2200T |
invalid_xml_processing_instruction |
22030 |
duplicate_json_object_key_value |
22031 |
invalid_argument_for_sql_json_datetime_function |
22032 |
invalid_json_text |
22033 |
invalid_sql_json_subscript |
22034 |
more_than_one_sql_json_item |
22035 |
no_sql_json_item |
22036 |
non_numeric_sql_json_item |
22037 |
non_unique_keys_in_a_json_object |
22038 |
singleton_sql_json_item_required |
22039 |
sql_json_array_not_found |
2203A |
sql_json_member_not_found |
2203B |
sql_json_number_not_found |
2203C |
sql_json_object_not_found |
2203D |
too_many_json_array_elements |
2203E |
too_many_json_object_members |
2203F |
sql_json_scalar_required |
2203G |
sql_json_item_cannot_be_cast_to_target_type |
| Class 23 — Integrity Constraint Violation | |
23000 |
integrity_constraint_violation |
23001 |
restrict_violation |
23502 |
not_null_violation |
23503 |
foreign_key_violation |
23505 |
unique_violation |
23514 |
check_violation |
23P01 |
exclusion_violation |
| Class 24 — Invalid Cursor State | |
24000 |
invalid_cursor_state |
| Class 25 — Invalid Transaction State | |
25000 |
invalid_transaction_state |
25001 |
active_sql_transaction |
25002 |
branch_transaction_already_active |
25008 |
held_cursor_requires_same_isolation_level |
25003 |
inappropriate_access_mode_for_branch_transaction |
25004 |
inappropriate_isolation_level_for_branch_transaction |
25005 |
no_active_sql_transaction_for_branch_transaction |
25006 |
read_only_sql_transaction |
25007 |
schema_and_data_statement_mixing_not_supported |
25P01 |
no_active_sql_transaction |
25P02 |
in_failed_sql_transaction |
25P03 |
idle_in_transaction_session_timeout |
| Class 26 — Invalid SQL Statement Name | |
26000 |
invalid_sql_statement_name |
| Class 27 — Triggered Data Change Violation | |
27000 |
triggered_data_change_violation |
| Class 28 — Invalid Authorization Specification | |
28000 |
invalid_authorization_specification |
28P01 |
invalid_password |
| Class 2B — Dependent Privilege Descriptors Still Exist | |
2B000 |
dependent_privilege_descriptors_still_exist |
2BP01 |
dependent_objects_still_exist |
| Class 2D — Invalid Transaction Termination | |
2D000 |
invalid_transaction_termination |
| Class 2F — SQL Routine Exception | |
2F000 |
sql_routine_exception |
2F005 |
function_executed_no_return_statement |
2F002 |
modifying_sql_data_not_permitted |
2F003 |
prohibited_sql_statement_attempted |
2F004 |
reading_sql_data_not_permitted |
| Class 34 — Invalid Cursor Name | |
34000 |
invalid_cursor_name |
| Class 38 — External Routine Exception | |
38000 |
external_routine_exception |
38001 |
containing_sql_not_permitted |
38002 |
modifying_sql_data_not_permitted |
38003 |
prohibited_sql_statement_attempted |
38004 |
reading_sql_data_not_permitted |
| Class 39 — External Routine Invocation Exception | |
39000 |
external_routine_invocation_exception |
39001 |
invalid_sqlstate_returned |
39004 |
null_value_not_allowed |
39P01 |
trigger_protocol_violated |
39P02 |
srf_protocol_violated |
39P03 |
event_trigger_protocol_violated |
| Class 3B — Savepoint Exception | |
3B000 |
savepoint_exception |
3B001 |
invalid_savepoint_specification |
| Class 3D — Invalid Catalog Name | |
3D000 |
invalid_catalog_name |
| Class 3F — Invalid Schema Name | |
3F000 |
invalid_schema_name |
| Class 40 — Transaction Rollback | |
40000 |
transaction_rollback |
40002 |
transaction_integrity_constraint_violation |
40001 |
serialization_failure |
40003 |
statement_completion_unknown |
40P01 |
deadlock_detected |
| Class 42 — Syntax Error or Access Rule Violation | |
42000 |
syntax_error_or_access_rule_violation |
42601 |
syntax_error |
42501 |
insufficient_privilege |
42846 |
cannot_coerce |
42803 |
grouping_error |
42P20 |
windowing_error |
42P19 |
invalid_recursion |
42830 |
invalid_foreign_key |
42602 |
invalid_name |
42622 |
name_too_long |
42939 |
reserved_name |
42804 |
datatype_mismatch |
42P18 |
indeterminate_datatype |
42P21 |
collation_mismatch |
42P22 |
indeterminate_collation |
42809 |
wrong_object_type |
428C9 |
generated_always |
42703 |
undefined_column |
42883 |
undefined_function |
42P01 |
undefined_table |
42P02 |
undefined_parameter |
42704 |
undefined_object |
42701 |
duplicate_column |
42P03 |
duplicate_cursor |
42P04 |
duplicate_database |
42723 |
duplicate_function |
42P05 |
duplicate_prepared_statement |
42P06 |
duplicate_schema |
42P07 |
duplicate_table |
42712 |
duplicate_alias |
42710 |
duplicate_object |
42702 |
ambiguous_column |
42725 |
ambiguous_function |
42P08 |
ambiguous_parameter |
42P09 |
ambiguous_alias |
42P10 |
invalid_column_reference |
42611 |
invalid_column_definition |
42P11 |
invalid_cursor_definition |
42P12 |
invalid_database_definition |
42P13 |
invalid_function_definition |
42P14 |
invalid_prepared_statement_definition |
42P15 |
invalid_schema_definition |
42P16 |
invalid_table_definition |
42P17 |
invalid_object_definition |
| Class 44 — WITH CHECK OPTION Violation | |
44000 |
with_check_option_violation |
| Class 53 — Insufficient Resources | |
53000 |
insufficient_resources |
53100 |
disk_full |
53200 |
out_of_memory |
53300 |
too_many_connections |
53400 |
configuration_limit_exceeded |
| Class 54 — Program Limit Exceeded | |
54000 |
program_limit_exceeded |
54001 |
statement_too_complex |
54011 |
too_many_columns |
54023 |
too_many_arguments |
| Class 55 — Object Not In Prerequisite State | |
55000 |
object_not_in_prerequisite_state |
55006 |
object_in_use |
55P02 |
cant_change_runtime_param |
55P03 |
lock_not_available |
55P04 |
unsafe_new_enum_value_usage |
| Class 57 — Operator Intervention | |
57000 |
operator_intervention |
57014 |
query_canceled |
57P01 |
admin_shutdown |
57P02 |
crash_shutdown |
57P03 |
cannot_connect_now |
57P04 |
database_dropped |
57P05 |
idle_session_timeout |
| Class 58 — System Error (errors external to PostgreSQL itself) | |
58000 |
system_error |
58030 |
io_error |
58P01 |
undefined_file |
58P02 |
duplicate_file |
| Class 72 — Snapshot Failure | |
72000 |
snapshot_too_old |
| Class F0 — Configuration File Error | |
F0000 |
config_file_error |
F0001 |
lock_file_exists |
| Class HV — Foreign Data Wrapper Error (SQL/MED) | |
HV000 |
fdw_error |
HV005 |
fdw_column_name_not_found |
HV002 |
fdw_dynamic_parameter_value_needed |
HV010 |
fdw_function_sequence_error |
HV021 |
fdw_inconsistent_descriptor_information |
HV024 |
fdw_invalid_attribute_value |
HV007 |
fdw_invalid_column_name |
HV008 |
fdw_invalid_column_number |
HV004 |
fdw_invalid_data_type |
HV006 |
fdw_invalid_data_type_descriptors |
HV091 |
fdw_invalid_descriptor_field_identifier |
HV00B |
fdw_invalid_handle |
HV00C |
fdw_invalid_option_index |
HV00D |
fdw_invalid_option_name |
HV090 |
fdw_invalid_string_length_or_buffer_length |
HV00A |
fdw_invalid_string_format |
HV009 |
fdw_invalid_use_of_null_pointer |
HV014 |
fdw_too_many_handles |
HV001 |
fdw_out_of_memory |
HV00P |
fdw_no_schemas |
HV00J |
fdw_option_name_not_found |
HV00K |
fdw_reply_handle |
HV00Q |
fdw_schema_not_found |
HV00R |
fdw_table_not_found |
HV00L |
fdw_unable_to_create_execution |
HV00M |
fdw_unable_to_create_reply |
HV00N |
fdw_unable_to_establish_connection |
| Class P0 — PL/pgSQL Error | |
P0000 |
plpgsql_error |
P0001 |
raise_exception |
P0002 |
no_data_found |
P0003 |
too_many_rows |
P0004 |
assert_failure |
| Class XX — Internal Error | |
XX000 |
internal_error |
XX001 |
data_corrupted |
XX002 |
index_corrupted |
I’m currently running openSuse on an rPi3B+ (aarch64) and have hit a wall running a NodeJS connection script.
I went through the standard install of PostgreSQL (v10 is what is offered on this version of openSuse) then created a new role with
CREATE ROLE new_role LOGIN PASSWORD 'passwd';
and then a db with
CREATE DATABASE new_db OWNER new_role;
Both the \l & \du return the expected outputs show that both the role and db have been created successfully with the correct owner.
So I then quickly created a node project directory and copied the test script from the docs: https://node-postgres.com/features/connecting
const { Pool, Client } = require('pg')
const connectionString = 'postgresql://new_role:passwd@localhost:5432/new_db'
const pool = new Pool({
connectionString: connectionString,
})
pool.query('SELECT NOW()', (err, res) => {
console.log(err, res)
pool.end()
})
const client = new Client({
connectionString: connectionString,
})
client.connect()
client.query('SELECT NOW()', (err, res) => {
console.log(err, res)
client.end()
})
This returns a few broken promise errors that I haven’t caught(.cath()) correctly yet, and an error code of 28000 that looks like this:
{ error: Ident authentication failed for user "new_role"
at Connection.parseE (/home/eru/postgresDB/node_modules/pg/lib/connection.js:554:11)
at Connection.parseMessage (/home/eru/postgresDB/node_modules/pg/lib/connection.js:379:19)
at Socket.<anonymous> (/home/eru/postgresDB/node_modules/pg/lib/connection.js:119:22)
at Socket.emit (events.js:182:13)
at addChunk (_stream_readable.js:283:12)
at readableAddChunk (_stream_readable.js:264:11)
at Socket.Readable.push (_stream_readable.js:219:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
name: 'error',
length: 99,
severity: 'FATAL',
code: '28000',
detail: undefined,
hint: undefined,
position: undefined,
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'auth.c',
line: '328',
routine: 'auth_failed' } undefined
So I’m pretty sure the attempt made it to the intended port otherwise I wouldn’t have received the detailed error in terminal. The error code = invalid_authorization_specification
Is the there something I need to do on the server ,psql interface, that will fulfill the authorization specification?
When I’ve looked into that specific one I can’t seem to find useful search results relevant to my situation.
Fairly new to postgres here so I’m sure this is a pretty noob mistake that I’m missing but any help or input is very appreciated!
I’m Getting This Error While Applying Migrations To Create New Database Hosted in database Cluster in Digitalocean.
my connection string is:
var conn = "User ID=test;Password=testPassword;Server=db-postgresql-tor1-xxxxx-do-user-xxxxxxxxx-0.b.db.ondigitalocean.com;port=25060;Database=TestAuthentication;Integrated Security=false;Pooling=true;";
Npgsql.PostgresException (0x80004005): 28000: no pg_hba.conf entry for host «XXX.xx.xx.192», user «test», database «TestAuthentication», SSL off
at Npgsql.NpgsqlConnector.<>c__DisplayClass160_0.<g__ReadMessageLong|0>d.MoveNext() in C:\projects\npgsql\src\Npgsql\NpgsqlConnector.cs:line 933
— End of stack trace from previous location —
at Npgsql.NpgsqlConnector.<>c__DisplayClass160_0.<g__ReadMessageLong|0>d.MoveNext() in C:\projects\npgsql\src\Npgsql\NpgsqlConnector.cs:line 973
— End of stack trace from previous location —
at Npgsql.NpgsqlConnector.Authenticate(String username, NpgsqlTimeout timeout, Boolean async) in C:\projects\npgsql\src\Npgsql\NpgsqlConnector.Auth.cs:line 22
at Npgsql.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken) in C:\projects\npgsql\src\Npgsql\NpgsqlConnector.cs:line 389
at Npgsql.NpgsqlConnection.<>c__DisplayClass32_0.<g__OpenLong|0>d.MoveNext() in C:\projects\npgsql\src\Npgsql\NpgsqlConnection.cs:line 240
— End of stack trace from previous location —
at Npgsql.NpgsqlConnection.Open() in C:\projects\npgsql\src\Npgsql\NpgsqlConnection.cs:line 119
at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlDatabaseCreator.Exists()
at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.Exists()
at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(String targetMigration, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_0.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Exception data:
Severity: FATAL
SqlState: 28000
MessageText: no pg_hba.conf entry for host «XXX.xx.xx.192», user «test», database «TestAuthentication», SSL off
File: auth.c
Line: 496
Routine: ClientAuthentication
28000: no pg_hba.conf entry for host «XXX.xx.xx.192», user «test», database «TestAuthentication», SSL off
FATAL: no pg_hba.conf entry for host
Connecting to PostgreSQL may trigger an error as shown below:
FATAL: no pg_hba.conf entry for host "172.118.10.5", user "postgres", database "postgres", SSL off
This error generally triggers due to incomplete entries in the pg_hba.conf file. Generally, this configuration file controls the client authentication and is stored in the database instance’s data directory.
The general format of the pg_hba.conf file contains a set of records, one per line. A record contains a number of fields separated by spaces and/or tabs. Fields can contain white space, but we need to quote the field value.
Each record specifies a connection type, a client IP address range, a database name, a user name, and the authentication method for connections matching these parameters.
Further, the first record with a matching connection type, client address, requested database, and user name is used to perform authentication. There is no “fall-through” or “backup”: if one record is chosen and the authentication fails, subsequent records are not considered. If no record matches, access is denied.
Solution:
Modify the pg_hba.conf file in data directory to define what authentication policy should be used from all networks to the PostgreSQL server, and add an entry of the host IP address from which we try to connect. We can input the entry of the host to which we would like to provide access to:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 172.118.10.5/32 md5
Then, restart the database service to reload configurations:
# systemctl restart postgresql.service
Try again in order to connect with your database client tool and we should be able to connect without any errors.
FATAL: role does not exist
Connecting to PostgreSQL may trigger an error as shown below:
FATAL: role "andym" does not exist
The indicated database user was not found. Note that if you do not specify a user name, the name of the operating system user running the database client tools is used as the user name by default, which might or might not be the right thing.
FATAL: role is not permitted to log in
Connecting to PostgreSQL may trigger an error as shown below:
FATAL: role "andym" is not permitted to log in
The indicated database role is not allowed to log in. You have to give the role permission to log in. One way to do this is to log in as a super user and update the role:
ALTER ROLE "andym" WITH LOGIN;
00000successful_completion01000warning0100Cdynamic_result_sets_returned01008implicit_zero_bit_padding01003null_value_eliminated_in_set_function01007privilege_not_granted01006privilege_not_revoked01004string_data_right_truncation01P01deprecated_feature02000no_data02001no_additional_dynamic_result_sets_returned03000sql_statement_not_yet_complete08000connection_exception08003connection_does_not_exist08006connection_failure08001sqlclient_unable_to_establish_sqlconnection08004sqlserver_rejected_establishment_of_sqlconnection08007transaction_resolution_unknown08P01protocol_violation09000triggered_action_exception0A000feature_not_supported0B000invalid_transaction_initiation0F000locator_exception0F001invalid_locator_specification0L000invalid_grantor0LP01invalid_grant_operation0P000invalid_role_specification0Z000diagnostics_exception0Z002stacked_diagnostics_accessed_without_active_handler20000case_not_found21000cardinality_violation22000data_exception2202Earray_subscript_error22021character_not_in_repertoire22008datetime_field_overflow22012division_by_zero22005error_in_assignment2200Bescape_character_conflict22022indicator_overflow22015interval_field_overflow2201Einvalid_argument_for_logarithm22014invalid_argument_for_ntile_function22016invalid_argument_for_nth_value_function2201Finvalid_argument_for_power_function2201Ginvalid_argument_for_width_bucket_function22018invalid_character_value_for_cast22007invalid_datetime_format22019invalid_escape_character2200Dinvalid_escape_octet22025invalid_escape_sequence22P06nonstandard_use_of_escape_character22010invalid_indicator_parameter_value22023invalid_parameter_value22013invalid_preceding_or_following_size2201Binvalid_regular_expression2201Winvalid_row_count_in_limit_clause2201Xinvalid_row_count_in_result_offset_clause2202Hinvalid_tablesample_argument2202Ginvalid_tablesample_repeat22009invalid_time_zone_displacement_value2200Cinvalid_use_of_escape_character2200Gmost_specific_type_mismatch22004null_value_not_allowed22002null_value_no_indicator_parameter22003numeric_value_out_of_range2200Hsequence_generator_limit_exceeded22026string_data_length_mismatch22001string_data_right_truncation22011substring_error22027trim_error22024unterminated_c_string2200Fzero_length_character_string22P01floating_point_exception22P02invalid_text_representation22P03invalid_binary_representation22P04bad_copy_file_format22P05untranslatable_character2200Lnot_an_xml_document2200Minvalid_xml_document2200Ninvalid_xml_content2200Sinvalid_xml_comment2200Tinvalid_xml_processing_instruction22030duplicate_json_object_key_value22031invalid_argument_for_sql_json_datetime_function22032invalid_json_text22033invalid_sql_json_subscript22034more_than_one_sql_json_item22035no_sql_json_item22036non_numeric_sql_json_item22037non_unique_keys_in_a_json_object22038singleton_sql_json_item_required22039sql_json_array_not_found2203Asql_json_member_not_found2203Bsql_json_number_not_found2203Csql_json_object_not_found2203Dtoo_many_json_array_elements2203Etoo_many_json_object_members2203Fsql_json_scalar_required2203Gsql_json_item_cannot_be_cast_to_target_type23000integrity_constraint_violation23001restrict_violation23502not_null_violation23503foreign_key_violation23505unique_violation23514check_violation23P01exclusion_violation24000invalid_cursor_state25000invalid_transaction_state25001active_sql_transaction25002branch_transaction_already_active25008held_cursor_requires_same_isolation_level25003inappropriate_access_mode_for_branch_transaction25004inappropriate_isolation_level_for_branch_transaction25005no_active_sql_transaction_for_branch_transaction25006read_only_sql_transaction25007schema_and_data_statement_mixing_not_supported25P01no_active_sql_transaction25P02in_failed_sql_transaction25P03idle_in_transaction_session_timeout26000invalid_sql_statement_name27000triggered_data_change_violation28000invalid_authorization_specification28P01invalid_password2B000dependent_privilege_descriptors_still_exist2BP01dependent_objects_still_exist2D000invalid_transaction_termination2F000sql_routine_exception2F005function_executed_no_return_statement2F002modifying_sql_data_not_permitted2F003prohibited_sql_statement_attempted2F004reading_sql_data_not_permitted34000invalid_cursor_name38000external_routine_exception38001containing_sql_not_permitted38002modifying_sql_data_not_permitted38003prohibited_sql_statement_attempted38004reading_sql_data_not_permitted39000external_routine_invocation_exception39001invalid_sqlstate_returned39004null_value_not_allowed39P01trigger_protocol_violated39P02srf_protocol_violated39P03event_trigger_protocol_violated3B000savepoint_exception3B001invalid_savepoint_specification3D000invalid_catalog_name3F000invalid_schema_name40000transaction_rollback40002transaction_integrity_constraint_violation40001serialization_failure40003statement_completion_unknown40P01deadlock_detected42000syntax_error_or_access_rule_violation42601syntax_error42501insufficient_privilege42846cannot_coerce42803grouping_error42P20windowing_error42P19invalid_recursion42830invalid_foreign_key42602invalid_name42622name_too_long42939reserved_name42804datatype_mismatch42P18indeterminate_datatype42P21collation_mismatch42P22indeterminate_collation42809wrong_object_type428C9generated_always42703undefined_column42883undefined_function42P01undefined_table42P02undefined_parameter42704undefined_object42701duplicate_column42P03duplicate_cursor42P04duplicate_database42723duplicate_function42P05duplicate_prepared_statement42P06duplicate_schema42P07duplicate_table42712duplicate_alias42710duplicate_object42702ambiguous_column42725ambiguous_function42P08ambiguous_parameter42P09ambiguous_alias42P10invalid_column_reference42611invalid_column_definition42P11invalid_cursor_definition42P12invalid_database_definition42P13invalid_function_definition42P14invalid_prepared_statement_definition42P15invalid_schema_definition42P16invalid_table_definition42P17invalid_object_definition44000with_check_option_violation53000insufficient_resources53100disk_full53200out_of_memory53300too_many_connections53400configuration_limit_exceeded54000program_limit_exceeded54001statement_too_complex54011too_many_columns54023too_many_arguments55000object_not_in_prerequisite_state55006object_in_use55P02cant_change_runtime_param55P03lock_not_available55P04unsafe_new_enum_value_usage57000operator_intervention57014query_canceled57P01admin_shutdown57P02crash_shutdown57P03cannot_connect_now57P04database_dropped57P05idle_session_timeout58000system_error58030io_error58P01undefined_file58P02duplicate_file72000snapshot_too_oldF0000config_file_errorF0001lock_file_existsHV000fdw_errorHV005fdw_column_name_not_foundHV002fdw_dynamic_parameter_value_neededHV010fdw_function_sequence_errorHV021fdw_inconsistent_descriptor_informationHV024fdw_invalid_attribute_valueHV007fdw_invalid_column_nameHV008fdw_invalid_column_numberHV004fdw_invalid_data_typeHV006fdw_invalid_data_type_descriptorsHV091fdw_invalid_descriptor_field_identifierHV00Bfdw_invalid_handleHV00Cfdw_invalid_option_indexHV00Dfdw_invalid_option_nameHV090fdw_invalid_string_length_or_buffer_lengthHV00Afdw_invalid_string_formatHV009fdw_invalid_use_of_null_pointerHV014fdw_too_many_handlesHV001fdw_out_of_memoryHV00Pfdw_no_schemasHV00Jfdw_option_name_not_foundHV00Kfdw_reply_handleHV00Qfdw_schema_not_foundHV00Rfdw_table_not_foundHV00Lfdw_unable_to_create_executionHV00Mfdw_unable_to_create_replyHV00Nfdw_unable_to_establish_connectionP0000plpgsql_errorP0001raise_exceptionP0002no_data_foundP0003too_many_rowsP0004assert_failureXX000internal_errorXX001data_corruptedXX002index_corrupted