pg_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_connectPostgreSQL 接続をオープンする

説明

pg_connect(string $connection_string, int $flags = 0): PgSql\Connection|false

pg_connect() は、connection_string で指定された情報を用いてデータベースとの接続をオープンします。

同じ connection_string 引数で 2 回 pg_connect() 関数がコールされた場合は、 flagsPGSQL_CONNECT_FORCE_NEW を指定していない限り 既存の接続が返されます。

複数のパラメータをサポートする古い構文 $conn = pg_connect("host", "port", "options", "tty", "dbname") は推奨されません。

パラメータ

connection_string

すべてデフォルトのパラメータを使用する場合には connection_string を空にすることが可能です。 または 1 つ以上のパラメータを空白で区切って指定することも可能です。 個々のパラメータは keyword = value の形式で 設定します。等号の前後の空白はあってもなくてもかまいません。 空の値や空白を含む値を指定する場合は、その値をシングルクォートで 囲みます(例: keyword = 'a value')。値の中に シングルクォートやバックスラッシュが含まれる場合は、それらを バックスラッシュでエスケープする必要があります(例: \' および \\)。

現在利用できるパラメータは以下のとおりです。 host, hostaddr, port, dbname (デフォルトは user の値), user, password, connect_timeout, options, tty(無視されます), sslmode, requiressl(非推奨。代わりに sslmode を推奨します) および service 。これらのうち実際にどの パラメータが使えるかは、PostgreSQL のバージョンに依存します。

options パラメータを使うと、 サーバー側で実行されるコマンドラインパラメータを指定することができます。

flags

PGSQL_CONNECT_FORCE_NEW が渡された場合は、 たとえ connection_string が既存の接続と まったく同一であっても新しい接続をオープンします。

PGSQL_CONNECT_ASYNC を指定すると、 非同期接続を確立します。この接続の状態は、 pg_connect_poll() あるいは pg_connection_status() で確認できます。

戻り値

成功した場合に PgSql\Connection クラスのインスタンスを返します。 失敗した場合に false を返します

変更履歴

バージョン 説明
8.1.0 PgSql\Connection クラスのインスタンスを返すようになりました。 これより前のバージョンでは、 リソース を返していました。

例1 pg_connect() の使用法

<?php
$dbconn 
pg_connect("dbname=mary");
// "mary"という名前のデータベースに接続

$dbconn2 pg_connect("host=localhost port=5432 dbname=mary");
// "localhost"のポート"5432"にて"mary"という名前のデータベースに接続

$dbconn3 pg_connect("host=sheep port=5432 dbname=mary user=lamb password=foo");
// ユーザー名とパスワードを指定してホスト"sheep"上の"mary"という名前のデータベースに接続

$conn_string "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 pg_connect($conn_string);
// ユーザー名とパスワードを指定してホスト"sheep"上の"test"という名前のデータベースへ接続

$dbconn5 pg_connect("host=localhost options='--client_encoding=UTF8'");
// "localhost" のデータベースに接続する際に、エンコーディングを UTF-8 に指定
?>

参考

  • pg_pconnect() - 持続的な PostgreSQL 接続をオープンする
  • pg_close() - PostgreSQL 接続をクローズする
  • pg_host() - 接続に関連するホスト名を返す
  • pg_port() - 接続に関連するポート番号を返す
  • pg_tty() - 接続に関する TTY 名を返す
  • pg_options() - 接続に関連するオプションを取得する
  • pg_dbname() - データベース名を取得する

関連キーワード:  接続, PostgreSQL, オープン, パラメータ, connection, string, バージョン, host, PgSql, Connection