PostgreSQL PDO Driver (PDO_PGSQL)
PDO_PGSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to PostgreSQL databases.
Intro
PDO_PGSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to PostgreSQL databases.
Resources
This extension defines a stream resource returned by Pdo\Pgsql::lobOpen.
Configure Constants
General notes
bytea columns are returned as stream resources. See Large Objects (LOBs) for how to read these values and how to bind data with PDO::PARAM_LOB.
PDO_PGSQL DSNConnecting to PostgreSQL databasesDescription The PDO_PGSQL Data Source Name (DSN) is composed of the following elements, delimited by spaces or semicolons: DSN prefixThe DSN prefix is pgsql:.hostThe hostname on which the database server resides.portThe port on which the database server is running.dbnameThe name of the database.userThe name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.passwordThe password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.sslmodeThe SSL mode. Accepted values are disable, allow, prefer, require, verify-ca, and verify-full; their meaning is described in the PostgreSQL Documentation. Many hosted PostgreSQL services require an encrypted connection, so require or stricter is needed to connect to them. As of PHP 8.4.0, credentials specified in the DSN (user and password) take priority over the corresponding arguments passed to the PDO constructor. In earlier versions, the PDO constructor arguments took precedence. All semicolons in the DSN string are replaced by spaces, because PostgreSQL expects this format. This implies that semicolons in any of the components (e.g. password or dbname) are not supported.Examples PDO_PGSQL DSN examplesThe following example shows a PDO_PGSQL DSN for connecting to a PostgreSQL database: pgsql:host=localhost;port=5432;dbname=testdb;user=bruce;password=mypassThe following example shows a PDO_PGSQL DSN for connecting to a PostgreSQL database via unix socket /tmp/.s.PGSQL.5432: pgsql:host=/tmp;port=5432;dbname=testdb;user=bruce;password=mypass Pdo-overloaded