Appendix A. PostgreSQL ������

PostgreSQL ������������������Ϣ������������ַ� �Ĵ�����룬 ��Щ������ѭ SQL �� "SQLSTATE" �����ϰ�ߡ���Ҫ֪��������ʲô����������Ӧ��ͨ��Ӧ�ò��Դ�����룬 �����Dz鿴�ı�������Ϣ����Щ���� �������ײ������� PostgreSQL �İ汾���¶��޸ģ� ����һ��Ҳ�������Ŵ�����Ϣ�ı��ػ��������޸ġ� ��ע����Щ��������ȫ����PostgreSQL ���ɵĴ���������� SQL ��׼����ģ� ��Щ��׼û�ж���Ĵ������������Ƿ����Ļ����Ǵ��������ݿ�����ġ�

���ݱ�׼����������ͷ�����ַ���ʾ������𣬶��������ַ���ʾ�ڸ� ������ض��������� ��ˣ���Щ����ʶ���ض���������Ӧ����Ȼ���ԴӴ���������ƶ�Ҫ��ʲô��

Table A-1 �����г��� PostgreSQL 8.0.0 ��������д�����롣����Щʵ����Ŀǰ��û��ʹ�ã����� SQL ��׼�����ˡ��� �������Ҳ�г��ڴˡ�����ÿ����������и�"��׼"�Ĵ�����룬 ������������ַ��� 000���������ֻ������Щ���ڸ�����ڣ� ����û�и����κθ�׼ȷ�Ĵ���Ĵ���������

PL/pgSQL ����ÿ�����������������ͱ�����ʾ�Ĵ����ͬ�� ֻ�����»��ߴ����˿հס����磬���� 22012��DIVISION BY ZERO�� ������������ DIVISION_BY_ZERO�������������ô�д����Сд��д�����ԡ� ����ע�⡡PL/pgSQL������ʶ�𾯸棬��һ��ʹ������������෴�� ��Щ����ǡ�00��01���͡�02����

Table A-1. PostgreSQL �������

�����������
00 ���ɹ����
00000�ɹ���ɣ�SUCCESSFUL COMPLETION��
01 ������
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��
02 ��û������ — ���� SQL:1999 ��Ҫ����Ҳ�Ǿ�����
02000û�����ݣ�NO DATA��
02001������û�и��Ӷ�̬�������NO ADDITIONAL DYNAMIC RESULT SETS RETURNED��
03 ��SQL ��������
03000SQL ����������SQL STATEMENT NOT YET COMPLETE��
08 ����������
08000�������⣨CONNECTION EXCEPTION��
08003���Ӳ����ڣ�CONNECTION DOES NOT EXIST��
08006����ʧ�ܣ�CONNECTION FAILURE��
08001SQL �ͻ��˲��ܽ��� SQL ���ӣ�SQLCLIENT UNABLE TO ESTABLISH SQLCONNECTION��
08004SQL �������ܾ����� SQL ���ӣ�SQLSERVER REJECTED ESTABLISHMENT OF SQLCONNECTION��
08007δ֪�����������TRANSACTION RESOLUTION UNKNOWN��
08P01Υ��Э�飨PROTOCOL VIOLATION��
09 ����������������
09000�����Ķ������⣨TRIGGERED ACTION EXCEPTION��
0A ����֧������
0A000��֧�ִ����ԣ�FEATURE NOT SUPPORTED��
0B ���Ƿ������ʼ��
0B000�Ƿ������ʼ����INVALID TRANSACTION INITIATION��
0F ��ָʾ������
0F000ָʾ�����⣨LOCATOR EXCEPTION��
0F001�Ƿ��Ķ�λ��������INVALID LOCATOR SPECIFICATION��
0L ���Ƿ���Ȩ��
0L000�Ƿ���Ȩ�ˣ�INVALID GRANTOR��
0LP01�Ƿ���Ȩ������INVALID GRANT OPERATION��
0P ���Ƿ���ɫ����
0P000�Ƿ���ɫ������INVALID ROLE SPECIFICATION��
21 ������
21000������CARDINALITY VIOLATION��
22 ����������
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��
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��
22010�Ƿ�ָʾ������ֵ��INVALID INDICATOR PARAMETER VALUE��
22020�Ƿ�����ֵ��INVALID LIMIT VALUE��
22023�Ƿ�����ֵ��INVALID PARAMETER VALUE��
2201B�Ƿ�������ʽ��INVALID REGULAR EXPRESSION��
22009�Ƿ�ʱ����ʾֵ��INVALID TIME ZONE DISPLACEMENT VALUE��
2200C�Ƿ�ʹ�������ַ���INVALID USE OF ESCAPE CHARACTER��
2200G��������Ͳ�ƥ�䣨MOST SPECIFIC TYPE MISMATCH��
22004������ NULL ֵ��NULL VALUE NOT ALLOWED��
22002NULL ֵ������ָʾ��������NULL VALUE NO INDICATOR PARAMETER��
22003����ֵ������Χ��NUMERIC VALUE OUT OF RANGE��
22026�ִ����ݳ��Ȳ�ƥ�䣨STRING DATA LENGTH MISMATCH��
22001�ִ������ұ߱��ضϣ�STRING DATA RIGHT TRUNCATION��
22011��ȡ���ִ�����SUBSTRING ERROR��
22027�ضϴ���TRIM ERROR��
22024δ������ C �ִ���UNTERMINATED C STRING��
2200F�㳤�ȵ��ַ�����ZERO LENGTH CHARACTER STRING��
22P01�������⣨FLOATING POINT EXCEPTION��
22P02�Ƿ��ı�������ʽ��INVALID TEXT REPRESENTATION��
22P03�Ƿ������Ʊ�����ʽ��INVALID BINARY REPRESENTATION��
22P04����� COPY ��ʽ��BAD COPY FILE FORMAT��
22P05���ɷ����ַ���UNTRANSLATABLE CHARACTER��
23 ��Υ��������Լ��
23000Υ��������Լ����INTEGRITY CONSTRAINT VIOLATION��
23001Υ�����ƣ�RESTRICT VIOLATION��
23502Υ���ǿգ�NOT NULL VIOLATION��
23503Υ�����Լ����FOREIGN KEY VIOLATION��
23505Υ��ΨһԼ����UNIQUE VIOLATION��
23514Υ����飨CHECK VIOLATION��
24 ���Ƿ��α�״̬
24000�Ƿ��α�״̬��INVALID CURSOR STATE��
25 ���Ƿ�����״̬
25000�Ƿ�����״̬��INVALID TRANSACTION STATE��
25001��Ծ�� SQL ״̬��ACTIVE SQL TRANSACTION��
25002��֧�����Ѿ����BRANCH TRANSACTION ALREADY ACTIVE��
25008���е��α�Ҫ��ͬ���ĸ��뼶��HELD CURSOR REQUIRES SAME ISOLATION LEVEL��
25003�Է�֧����IJ�ǡ���ķ��ʷ�ʽ��INAPPROPRIATE ACCESS MODE FOR BRANCH TRANSACTION��
25004�Է�֧����IJ�ǡ���ĸ��뼶��INAPPROPRIATE ISOLATION LEVEL FOR BRANCH TRANSACTION��
25005��֧����û�л�Ծ�� SQL ����NO ACTIVE SQL TRANSACTION FOR BRANCH TRANSACTION��
25006ֻ���� SQL ����READ ONLY SQL TRANSACTION��
25007��֧�ֻ�͵�ģʽ��������䣨SCHEMA AND DATA STATEMENT MIXING NOT SUPPORTED��
25P01û�л�Ծ�� SQL ����NO ACTIVE SQL TRANSACTION��
25P02��ʧ�ܵ� SQL �����У�IN FAILED SQL TRANSACTION��
26 ���Ƿ� SQL �����
26000�Ƿ� SQL �������INVALID SQL STATEMENT NAME��
27 �����������ݸı�Υ��
27000���������ݸı�Υ�棨TRIGGERED DATA CHANGE VIOLATION��
28 ���Ƿ���Ȩ����
28000�Ƿ���Ȩ������INVALID AUTHORIZATION SPECIFICATION��
2B ����Ȼ�������������ȼ�������
2B000��Ȼ�������������ȼ���������DEPENDENT PRIVILEGE DESCRIPTORS STILL EXIST��
2BP01�����Զ�����Ȼ���ڣ�DEPENDENT OBJECTS STILL EXIST��
2D ���Ƿ���������ֹ
2D000�Ƿ���������ֹ��INVALID TRANSACTION TERMINATION��
2F ��SQL ��������
2F000SQL �������⣨SQL ROUTINE EXCEPTION��
2F005ִ�еĺ���û�з�����䣨FUNCTION EXECUTED NO RETURN STATEMENT��
2F002�������޸� SQL ���ݣ�MODIFYING SQL DATA NOT PERMITTED��
2F003��ͼʹ�ý�ֹ�� SQL ��䣨PROHIBITED SQL STATEMENT ATTEMPTED��
2F004�������ȡ SQL ���ݣ�READING SQL DATA NOT PERMITTED��
34 ���Ƿ��α���
34000�Ƿ��α�����INVALID CURSOR NAME��
38 ���ⲿ��������
38000�ⲿ�������⣨EXTERNAL ROUTINE EXCEPTION��
38001����������� SQL ��CONTAINING SQL NOT PERMITTED��
38002�������޸� SQL ���ݣ�MODIFYING SQL DATA NOT PERMITTED��
38003��ͼʹ�ý�ֹ�� SQL ��䣨PROHIBITED SQL STATEMENT ATTEMPTED��
38004�������ȡ SQL ���ݣ�READING SQL DATA NOT PERMITTED��
39 ���ⲿ���̵�������
39000�ⲿ���̵������⣨EXTERNAL ROUTINE INVOCATION EXCEPTION��
39001�����˷Ƿ��� SQLSTATE��INVALID SQLSTATE RETURNED��
39004�������ֵ��NULL VALUE NOT ALLOWED��
39P01Υ��������Э�飨TRIGGER PROTOCOL VIOLATED��
39P02Υ��SRFЭ�飨SRF PROTOCOL VIOLATED��
3B �����������
3B000��������⣨SAVEPOINT EXCEPTION��
3B001��Ч�ı����������INVALID SAVEPOINT SPECIFICATION��
3D ���Ƿ����ݿ���
3D000�Ƿ����ݿ�����INVALID CATALOG NAME��
3F ���Ƿ�ģʽ��
3F000�Ƿ�ģʽ����INVALID SCHEMA NAME��
40 ������ع�
40000����ع���TRANSACTION ROLLBACK��
40002Υ������������Լ����TRANSACTION INTEGRITY CONSTRAINT VIOLATION��
40001���л�ʧ�ܣ�SERIALIZATION FAILURE��
40003��֪������Ƿ������STATEMENT COMPLETION UNKNOWN��
40P01��⵽������DEADLOCK DETECTED��
42 ���﷨�������Υ�����ʹ���
42000�﷨�������Υ�����ʹ���SYNTAX ERROR OR ACCESS RULE VIOLATION��
42601�﷨����SYNTAX ERROR��
42501Ȩ�޲�����INSUFFICIENT PRIVILEGE��
42846�޷���������ת����CANNOT COERCE��
42803�������GROUPING ERROR��
42830�Ƿ��������INVALID FOREIGN KEY��
42602�Ƿ����֣�INVALID NAME��
42622����̫����NAME TOO LONG��
42939�������֣�RESERVED NAME��
42804�������Ͳ�ƥ�䣨DATATYPE MISMATCH��
42P18δ�����������ͣ�INDETERMINATE DATATYPE��
42809����Ķ������ͣ�WRONG OBJECT TYPE��
42703δ������ֶΣ�UNDEFINED COLUMN��
42883δ����ĺ�����UNDEFINED FUNCTION��
42P01δ����ı�UNDEFINED TABLE��
42P02���IJ�����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ģ���IJ�����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��
44 ��Υ�� WITH CHECK ѡ��
44000Υ�� WITH CHECK ѡ�WITH CHECK OPTION VIOLATION��
53 ����Դ����
53000��Դ������INSUFFICIENT RESOURCES��
53100��������DISK FULL��
53200�ڴ�ľ���OUT OF MEMORY��
53300̫�����ӣ�TOO MANY CONNECTIONS��
54 ��������������
54000�����������ƣ�PROGRAM LIMIT EXCEEDED��
54001���̫���ӣ�STATEMENT TOO COMPLEX��
54011̫���ֶΣ�TOO MANY COLUMNS��
54023����̫�ࣨTOO MANY ARGUMENTS��
55 ��������Ԥ��Ҫ���״̬
55000������Ԥ��Ҫ���״̬��OBJECT NOT IN PREREQUISITE STATE��
55006������ʹ���У�OBJECT IN USE��
55P02�޷��޸�����ʱ������CANT CHANGE RUNTIME PARAM��
55P03�����ɻ�ã�LOCK NOT AVAILABLE��
57 �������߸���
57000�����߸��棨OPERATOR INTERVENTION��
57014��ѯ��ȡ����QUERY CANCELED��
57P01����Ա�ػ���ADMIN SHUTDOWN��
57P02�����ػ���CRASH SHUTDOWN��
57P03�����޷����ӣ�CANNOT CONNECT NOW��
58 ��ϵͳ����( PostgreSQL �Լ��ڲ��Ĵ���)
58030IO ����IO ERROR��
58P01δ������ļ���UNDEFINED FILE��
58P02�ظ����ļ���DUPLICATE FILE��
F0 �������ļ�����
F0000�����ļ�����CONFIG FILE ERROR��
F0001���ļ����ڣ�LOCK FILE EXISTS��
P0 ��PL/pgSQL ����
P0000PLPGSQL ����PLPGSQL ERROR��
P0001�׳����⣨RAISE EXCEPTION��
XX ���ڲ�����
XX000�ڲ�����INTERNAL ERROR��
XX001�����𻵣�DATA CORRUPTED��
XX002�����𻵣�INDEX CORRUPTED��