PostgreSQL PDO ドライバ (PDO_PGSQL)
PostgreSQL PDO ドライバ
&reftitle.intro;
PDO_PGSQL は、PHP から PostgreSQL
データベースへのアクセスを可能にするための
PHP Data
Objects (PDO) インターフェイス を実装したドライバです。
&reftitle.resources;
この拡張モジュールでは、ストリームリソースを定義しています。これは
Pdo\Pgsql::lobOpen が返すものです。
&reference.pdo-pgsql.configure;
&reference.pdo-pgsql.constants;
General notes
bytea カラムはストリームリソースとして返されます。
これらの値を読み込む方法や、PDO::PARAM_LOB を使って
データをバインドする方法については、
ラージオブジェクト (LOB) を参照ください。
PDO_PGSQL DSN
PostgreSQL データベースに接続する
&reftitle.description;
PDO_PGSQL データソース名 (DSN) は以下の要素で構成され、
スペースあるいはセミコロンで区切られます:
DSN 接頭辞
DSN 接頭辞は pgsql: です。
host
データベースサーバーが存在するホスト名を指定します。
port
データベースサーバーが起動しているポートを指定します。
dbname
データベース名を指定します。
user
接続するユーザー名を指定します。もし DSN でユーザー名を指定する場合、
PDO は PDO コンストラクタにおけるユーザー名引数の値を無視します。
password
接続するユーザーのパスワードを指定します。もし DSN
でパスワードを指定する場合、
PDO は PDO コンストラクタにおけるパスワード引数の値を無視します。
sslmode
SSLモード。指定できる値は disable、allow、
prefer、require、verify-ca
および verify-full です。それぞれの意味については、
PostgreSQL Documentation
を参照ください。
多くのホスティング型 PostgreSQL サービスでは暗号化された接続が必須です。
そのため、接続するには require 以上の厳格なモードを指定する必要があります。
DSN 文字列における全てのセミコロンは、スペースで置き換えられます。
なぜなら、PostgreSQL はそのように置き換えられたフォーマットを期待しているからです。
このことは、DSN におけるあらゆるコンポーネント
(例: password や dbname)
で、セミコロンはサポートされていないということです。
&reftitle.examples;
PDO_PGSQL DSN の例
以下の例は、PostgreSQL データベースに接続するための PDO_PGSQL DSN
を示します:
以下の例は、unix ソケット経由で PostgreSQL データベースに接続するための PDO_PGSQL DSN
を示します:
&reference.pdo-pgsql.entities.pdo-overloaded;