(PHP 5 >= 5.1.0)
pg_result_error_field — Returns an individual field of an error report.
$result
   , int $fieldcode
   )
    pg_result_error_field() returns one of the detailed error message
   fields associated with result resource. It is only available
   against a PostgreSQL 7.4 or above server.  The error field is specified by
   the fieldcode.
  
   Because  pg_query() and  pg_query_params() return FALSE if the query fails,
   you must use  pg_send_query() and
    pg_get_result() to get the result handle.
  
If you need to get additional error information from failed pg_query() queries, use pg_set_error_verbosity() and pg_last_error() and then parse the result.
result
     A PostgreSQL query result resource from a previously executed statement.
fieldcode
     
         Possible fieldcode values are: PGSQL_DIAG_SEVERITY,
         PGSQL_DIAG_SQLSTATE, PGSQL_DIAG_MESSAGE_PRIMARY,
         PGSQL_DIAG_MESSAGE_DETAIL,
         PGSQL_DIAG_MESSAGE_HINT, PGSQL_DIAG_STATEMENT_POSITION,
         PGSQL_DIAG_INTERNAL_POSITION (PostgreSQL 8.0+ only),
         PGSQL_DIAG_INTERNAL_QUERY (PostgreSQL 8.0+ only),
         PGSQL_DIAG_CONTEXT, PGSQL_DIAG_SOURCE_FILE,
         PGSQL_DIAG_SOURCE_LINE or
         PGSQL_DIAG_SOURCE_FUNCTION.
        
A string containing the contents of the error field, NULL if the field does not exist or FALSE
  on failure.
Example #1 pg_result_error_field() example
<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }
  
  $res1 = pg_get_result($dbconn);
  echo pg_result_error_field($res1, PGSQL_DIAG_SQLSTATE);
?>