pg_connect
PostgreSQL 接続をオープンする
説明
PgSql\Connectionfalse pg_connect(string $connection_string
, int $flags
= 0)
同じ connection_string
引数で 2 回
pg_connect 関数がコールされた場合は、
flags
に
PGSQL_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
を返します
例
例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
- pg_close
- pg_host
- pg_port
- pg_tty
- pg_options
- pg_dbname