object,
the name of the schema containing that object, if any.
</para>
</listitem>
</varlistentry>
<varlistentry id="libpq-pg-diag-table-name">
<term><symbol>PG_DIAG_TABLE_NAME</symbol></term>
<listitem>
<para>
If the error was associated with a specific table, the name of the
table. (Refer to the schema name field for the name of the
table's schema.)
</para>
</listitem>
</varlistentry>
<varlistentry id="libpq-pg-diag-column-name">
<term><symbol>PG_DIAG_COLUMN_NAME</symbol></term>
<listitem>
<para>
If the error was associated with a specific table column, the name
of the column. (Refer to the schema and table name fields to
identify the table.)
</para>
</listitem>
</varlistentry>
<varlistentry id="libpq-pg-diag-datatype-name">
<term><symbol>PG_DIAG_DATATYPE_NAME</symbol></term>
<listitem>
<para>
If the error was associated with a specific data type, the name of
the data type. (Refer to the schema name field for the name of
the data type's schema.)
</para>
</listitem>
</varlistentry>
<varlistentry id="libpq-pg-diag-constraint-name">
<term><symbol>PG_DIAG_CONSTRAINT_NAME</symbol></term>
<listitem>
<para>
If the error was associated with a specific constraint, the name
of the constraint. Refer to fields listed above for the
associated table or domain. (For this purpose, indexes are
treated as constraints, even if they weren't created with
constraint syntax.)
</para>
</listitem>
</varlistentry>
<varlistentry id="libpq-pg-diag-source-file">
<term><symbol>PG_DIAG_SOURCE_FILE</symbol></term>
<listitem>
<para>
The file name of the source-code location where the error was
reported.
</para>
</listitem>
</varlistentry>
<varlistentry id="libpq-pg-diag-source-line">
<term><symbol>PG_DIAG_SOURCE_LINE</symbol></term>
<listitem>
<para>
The line number of the source-code location where the error
was reported.
</para>
</listitem>
</varlistentry>
<varlistentry id="libpq-pg-diag-source-function">
<term><symbol>PG_DIAG_SOURCE_FUNCTION</symbol></term>
<listitem>
<para>
The name of the source-code function reporting the error.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<note>
<para>
The fields for schema name, table name, column name, data type name,
and constraint name are supplied only for a limited number of error
types; see <xref linkend="errcodes-appendix"/>. Do not assume that
the presence of any of these fields guarantees the presence of
another field. Core error sources observe the interrelationships
noted above, but user-defined functions may use these fields in other
ways. In the same vein, do not assume that these fields denote
contemporary objects in the current database.
</para>
</note>
<para>
The client is responsible for formatting displayed information to meet
its needs; in particular it should break long lines as needed.
Newline characters appearing in the error message fields should be
treated as paragraph breaks, not line breaks.
</para>
<para>
Errors generated internally by <application>libpq</application> will
have severity and primary message, but typically no other