Predefined Constants

- « Resource Types

- Examples »

- PHP Manual
- PostgreSQL
- Predefined Constants

# Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

`PGSQL_LIBPQ_VERSION` (string)
  Short libpq version that contains only numbers and dots.
`PGSQL_LIBPQ_VERSION_STR` (string)
  Prior to PHP 8.0.0, the long libpq version that includes compiler information. As of PHP 8.0.0, the value is identical to `PGSQL_LIBPQ_VERSION`, and using `PGSQL_LIBPQ_VERSION_STR` is deprecated.
`PGSQL_ASSOC` (int)
  Passed to pg_fetch_array(). Return an associative array of field names and values.
`PGSQL_NUM` (int)
  Passed to pg_fetch_array(). Return a numerically indexed array of field numbers and values.
`PGSQL_BOTH` (int)
  Passed to pg_fetch_array(). Return an array of field values that is both numerically indexed (by field number) and associated (by field name).
`PGSQL_CONNECT_FORCE_NEW` (int)
  Passed to pg_connect() to force the creation of a new connection, rather than re-using an existing identical connection.
`PGSQL_CONNECT_ASYNC` (int)
  Passed to pg_connect() to create an asynchronous connection.
`PGSQL_CONNECTION_AUTH_OK` (int)
`PGSQL_CONNECTION_AWAITING_RESPONSE` (int)
`PGSQL_CONNECTION_BAD` (int)
  Returned by pg_connection_status() indicating that the database connection is in an invalid state.
`PGSQL_CONNECTION_MADE` (int)
`PGSQL_CONNECTION_OK` (int)
  Returned by pg_connection_status() indicating that the database connection is in a valid state.
`PGSQL_CONNECTION_SETENV` (int)
`PGSQL_CONNECTION_SSL_STARTUP` (int)
`PGSQL_CONNECTION_STARTED` (int)
`PGSQL_SEEK_SET` (int)
  Passed to pg_lo_seek(). Seek operation is to begin from the start of the object.
`PGSQL_SEEK_CUR` (int)
  Passed to pg_lo_seek(). Seek operation is to begin from the current position.
`PGSQL_SEEK_END` (int)
  Passed to pg_lo_seek(). Seek operation is to begin from the end of the object.
`PGSQL_EMPTY_QUERY` (int)
  Returned by pg_result_status(). The string sent to the server was empty.
`PGSQL_COMMAND_OK` (int)
  Returned by pg_result_status(). Successful completion of a command returning no data.
`PGSQL_TUPLES_OK` (int)
  Returned by pg_result_status(). Successful completion of a command returning data (such as a `SELECT` or `SHOW`).
`PGSQL_TUPLES_CHUNK` (int)
  Returned by pg_result_status(). Indicates the successful completion of a command returning data in chunked mode. Returned for `SELECT` commands when pg_set_chunked_rows_size() is set. The result set is divided into multiple chunks, each containing a predefined number of rows. Available as of PHP 8.4.0 and libpq 17.
`PGSQL_COPY_OUT` (int)
  Returned by pg_result_status(). Copy Out (from server) data transfer started.
`PGSQL_COPY_IN` (int)
  Returned by pg_result_status(). Copy In (to server) data transfer started.
`PGSQL_BAD_RESPONSE` (int)
  Returned by pg_result_status(). The server's response was not understood.
`PGSQL_NONFATAL_ERROR` (int)
  Returned by pg_result_status(). A nonfatal error (a notice or warning) occurred.
`PGSQL_FATAL_ERROR` (int)
  Returned by pg_result_status(). A fatal error occurred.
`PGSQL_TRANSACTION_IDLE` (int)
  Returned by pg_transaction_status(). Connection is currently idle, not in a transaction.
`PGSQL_TRANSACTION_ACTIVE` (int)
  Returned by pg_transaction_status(). A command is in progress on the connection. A query has been sent via the connection and not yet completed.
`PGSQL_TRANSACTION_INTRANS` (int)
  Returned by pg_transaction_status(). The connection is idle, in a transaction block.
`PGSQL_TRANSACTION_INERROR` (int)
  Returned by pg_transaction_status(). The connection is idle, in a failed transaction block.
`PGSQL_TRANSACTION_UNKNOWN` (int)
  Returned by pg_transaction_status(). The connection is bad.
`PGSQL_DIAG_SEVERITY` (int)
  Passed to pg_result_error_field(). The severity; the field contents are `ERROR`, `FATAL`, or `PANIC` (in an error message), or `WARNING`, `NOTICE`, `DEBUG`, `INFO`, or `LOG` (in a notice message), or a localized translation of one of these. Always present.
`PGSQL_DIAG_SQLSTATE` (int)
  Passed to pg_result_error_field(). The SQLSTATE code for the error. The SQLSTATE code identifies the type of error that has occurred; it can be used by front-end applications to perform specific operations (such as error handling) in response to a particular database error. This field is not localizable, and is always present.
`PGSQL_DIAG_MESSAGE_PRIMARY` (int)
  Passed to pg_result_error_field(). The primary human-readable error message (typically one line). Always present.
`PGSQL_DIAG_MESSAGE_DETAIL` (int)
  Passed to pg_result_error_field(). Detail: an optional secondary error message carrying more detail about the problem. May run to multiple lines.
`PGSQL_DIAG_MESSAGE_HINT` (int)
  Passed to pg_result_error_field(). Hint: an optional suggestion what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts. May run to multiple lines.
`PGSQL_DIAG_STATEMENT_POSITION` (int)
  Passed to pg_result_error_field(). A string containing a decimal integer indicating an error cursor position as an index into the original statement string. The first character has index 1, and positions are measured in characters not bytes.
`PGSQL_DIAG_INTERNAL_POSITION` (int)
  Passed to pg_result_error_field(). This is defined the same as the `PG_DIAG_STATEMENT_POSITION` field, but it is used when the cursor position refers to an internally generated command rather than the one submitted by the client. The `PG_DIAG_INTERNAL_QUERY` field will always appear when this field appears.
`PGSQL_DIAG_INTERNAL_QUERY` (int)
  Passed to pg_result_error_field(). The text of a failed internally-generated command. This could be, for example, a SQL query issued by a PL/pgSQL function.
`PGSQL_DIAG_CONTEXT` (int)
  Passed to pg_result_error_field(). An indication of the context in which the error occurred. Presently this includes a call stack traceback of active procedural language functions and internally-generated queries. The trace is one entry per line, most recent first.
`PGSQL_DIAG_SOURCE_FILE` (int)
  Passed to pg_result_error_field(). The file name of the PostgreSQL source-code location where the error was reported.
`PGSQL_DIAG_SOURCE_LINE` (int)
  Passed to pg_result_error_field(). The line number of the PostgreSQL source-code location where the error was reported.
`PGSQL_DIAG_SOURCE_FUNCTION` (int)
  Passed to pg_result_error_field(). The name of the PostgreSQL source-code function reporting the error.
`PGSQL_DIAG_SCHEMA_NAME` (int)
  Available since PHP 7.3.0.
`PGSQL_DIAG_TABLE_NAME` (int)
  Available since PHP 7.3.0.
`PGSQL_DIAG_COLUMN_NAME` (int)
  Available since PHP 7.3.0.
`PGSQL_DIAG_DATATYPE_NAME` (int)
  Available since PHP 7.3.0.
`PGSQL_DIAG_CONSTRAINT_NAME` (int)
  Available since PHP 7.3.0.
`PGSQL_ERRORS_TERSE` (int)
  Passed to pg_set_error_verbosity(). Specified that returned messages include severity, primary text, and position only; this will normally fit on a single line.
`PGSQL_ERRORS_DEFAULT` (int)
  Passed to pg_set_error_verbosity(). The default mode produces messages that include the above plus any detail, hint, or context fields (these may span multiple lines).
`PGSQL_ERRORS_VERBOSE` (int)
  Passed to pg_set_error_verbosity(). The verbose mode includes all available fields.
`PGSQL_ERRORS_SQLSTATE` (int)
  Passed to pg_set_error_verbosity(). Includes only the error severity and the `SQLSTATE` error code. If no error code is available, the output is like `PGSQL_ERRORS_TERSE` mode. Before PostgreSQL 11.1, the output is always the same as in `PGSQL_ERRORS_TERSE` mode.
`PGSQL_NOTICE_LAST` (int)
  Used by pg_last_notice(). Available since PHP 7.1.0.
`PGSQL_NOTICE_ALL` (int)
  Used by pg_last_notice(). Available since PHP 7.1.0.
`PGSQL_NOTICE_CLEAR` (int)
  Used by pg_last_notice(). Available since PHP 7.1.0.
`PGSQL_STATUS_LONG` (int)
  Passed to pg_result_status(). Indicates that numerical result code is desired.
`PGSQL_STATUS_STRING` (int)
  Passed to pg_result_status(). Indicates that textual result command tag is desired.
`PGSQL_CONV_IGNORE_DEFAULT` (int)
  Passed to pg_convert(). Ignore default values in the table during conversion.
`PGSQL_CONV_FORCE_NULL` (int)
  Passed to pg_convert(). Use SQL `NULL` in place of an empty string.
`PGSQL_CONV_IGNORE_NOT_NULL` (int)
  Passed to pg_convert(). Ignore conversion of `null` into SQL `NOT NULL` columns.
`PGSQL_DML_NO_CONV` (int)
  Passed to pg_insert(), pg_select(), pg_update() and pg_delete(). All parameters passed as is. Manual escape is required if parameters contain user supplied data. Use pg_escape_string() for it.
`PGSQL_DML_EXEC` (int)
  Passed to pg_insert(), pg_select(), pg_update() and pg_delete(). Execute query by these functions.
`PGSQL_DML_ASYNC` (int)
  Passed to pg_insert(), pg_select(), pg_update() and pg_delete(). Execute asynchronous query by these functions.
`PGSQL_DML_STRING` (int)
  Passed to pg_insert(), pg_select(), pg_update() and pg_delete(). Return executed query string.
`PGSQL_DML_ESCAPE` (int)
  Passed to pg_insert(), pg_select(), pg_update() and pg_delete(). Apply escape to all parameters instead of calling pg_convert() internally. This option omits meta data look up. Query could be as fast as pg_query() and pg_send_query().
`PGSQL_POLLING_FAILED` (int)
  Returned by pg_connect_poll() to indicate that the connection attempt failed.
`PGSQL_POLLING_READING` (int)
  Returned by pg_connect_poll() to indicate that the connection is waiting for the PostgreSQL socket to be readable.
`PGSQL_POLLING_WRITING` (int)
  Returned by pg_connect_poll() to indicate that the connection is waiting for the PostgreSQL socket to be writable.
`PGSQL_POLLING_OK` (int)
  Returned by pg_connect_poll() to indicate that the connection is ready to be used.
`PGSQL_POLLING_ACTIVE` (int)
  Returned by pg_connect_poll() to indicate that the connection is currently active.
`PGSQL_DIAG_SEVERITY_NONLOCALIZED` (int)
  The severity; the field contents are ERROR, FATAL, or PANIC (in an error message), or WARNING, NOTICE, DEBUG, INFO, or LOG (in a notice message). This is identical to the PG_DIAG_SEVERITY field except that the contents are never localized. This is present only in versions 9.6 and later / PHP 7.3.0 and later.
`PGSQL_SHOW_CONTEXT_NEVER` (int)
  To be used with pg_set_error_context_visibility(), the context is never shown. Available as of PHP 8.3.0.
`PGSQL_SHOW_CONTEXT_ERRORS` (int)
  To be used with pg_set_error_context_visibility(), the context's fields are included in error messages only. This is the default behaviour. Available as of PHP 8.3.0.
`PGSQL_SHOW_CONTEXT_ALWAYS` (int)
  To be used with pg_set_error_context_visibility(), the context's fields are included in error, notice and warning messages. Available as of PHP 8.3.0.
`PGSQL_TRACE_SUPPRESS_TIMESTAMPS` (int)
  To be used with pg_trace(), the timestamp is not included in the trace's messages. Available as of PHP 8.3.0.
`PGSQL_TRACE_REGRESS_MODE` (int)
  To be used with pg_trace(), fields such as OIDs are included in the trace's messages. Available as of PHP 8.3.0.