On this page
pg_connect
(PHP 4, PHP 5, PHP 7, PHP 8)
pg_connect — Open a PostgreSQL connection
Description
pg_connect(string $connection_string, int $flags = 0): PgSql\Connection|false
pg_connect() opens a connection to a PostgreSQL database specified by the connection_string.
If a second call is made to pg_connect() with the same connection_string as an existing connection, the existing connection will be returned unless you pass PGSQL_CONNECT_FORCE_NEW as flags.
The old syntax with multiple parameters $conn = pg_connect("host", "port", "options", "tty", "dbname") has been deprecated.
Parameters
connection_string-
The
connection_stringcan be empty to use all default parameters, or it can contain one or more parameter settings separated by whitespace. Each parameter setting is in the formkeyword = value. Spaces around the equal sign are optional. To write an empty value or a value containing spaces, surround it with single quotes, e.g.,keyword = 'a value'. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.The currently recognized parameter keywords are:
host,hostaddr,port,dbname(defaults to value ofuser),user,password,connect_timeout,options,tty(ignored),sslmode,requiressl(deprecated in favor ofsslmode), andservice. Which of these arguments exist depends on your PostgreSQL version.The
optionsparameter can be used to set command line parameters to be invoked by the server. flags-
If
PGSQL_CONNECT_FORCE_NEWis passed, then a new connection is created, even if theconnection_stringis identical to an existing connection.If
PGSQL_CONNECT_ASYNCis given, then the connection is established asynchronously. The state of the connection can then be checked via pg_connect_poll() or pg_connection_status().
Return Values
Returns an PgSql\Connection instance on success, or false on failure.
Changelog
| Version | Description |
|---|---|
| 8.1.0 | Returns an PgSql\Connection instance now; previously, a resource was returned. |
Examples
Example #1 Using pg_connect()
<?php
$dbconn = pg_connect("dbname=mary");
//connect to a database named "mary"
$dbconn2 = pg_connect("host=localhost port=5432 dbname=mary");
// connect to a database named "mary" on "localhost" at port "5432"
$dbconn3 = pg_connect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//connect to a database named "mary" on the host "sheep" with a username and password
$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_connect($conn_string);
//connect to a database named "test" on the host "sheep" with a username and password
$dbconn5 = pg_connect("host=localhost options='--client_encoding=UTF8'");
//connect to a database on "localhost" and set the command line parameter which tells the encoding is in UTF-8
?>
See Also
- pg_pconnect() - Open a persistent PostgreSQL connection
- pg_close() - Closes a PostgreSQL connection
- pg_host() - Returns the host name associated with the connection
- pg_port() - Return the port number associated with the connection
- pg_tty() - Return the TTY name associated with the connection
- pg_options() - Get the options associated with the connection
- pg_dbname() - Get the database name
© 1997–2023 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.pg-connect.php