downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

PDO::pgsqlLOBCreate> <PostgreSQL (PDO)
[edit] Last updated: Fri, 25 May 2012

view this page in

PDO_PGSQL DSN

(PECL PDO_PGSQL >= 0.1.0)

PDO_PGSQL DSNPostgreSQL データベースに接続する

説明

PDO_PGSQL データソース名 (DSN) は以下の要素で構成され、 スペースあるいはセミコロンで区切られます:

DSN 接頭辞

DSN 接頭辞は pgsql: です。

host

データベースサーバーが存在するホスト名を指定します。

port

データベースサーバーが起動しているポートを指定します。

dbname

データベース名を指定します。

user

接続するユーザー名を指定します。もし DSN でユーザー名を指定する場合、 PDO は PDO コンストラクタにおけるユーザー名引数の値を無視します。

password

接続するユーザーのパスワードを指定します。もし DSN でパスワードを指定する場合、 PDO は PDO コンストラクタにおけるパスワード引数の値を無視します。

注意:

bytea フィールドはストリームとして返されます。

例1 PDO_PGSQL DSN の例

以下の例は、PostgreSQL データベースに接続するための PDO_PGSQL DSN を表します:

pgsql:host=localhost;port=5432;dbname=testdb;user=bruce;password=mypass



PDO::pgsqlLOBCreate> <PostgreSQL (PDO)
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes PDO_PGSQL DSN
tmairs at aasland dot com 03-May-2010 05:28
The DSN syntax shown here did not work for me, but this did:

<?php
$dbh
= new PDO("pgsql:dbname=$dbname;host=$host", $username, $password );
?>

As opposed to

<?php
$dbh
= new PDO('pgsql:dbname=$dbname;
                           host=$host;
                           username=$username;
                           password=$password'
);
?>

Which makes sense and is more PGSQL standard.
tim at buttersideup dot com 28-Dec-2007 10:35
You can also connect to PostgreSQL via a UNIX domain socket by leaving the host empty.  This should have less overhead than using TCP e.g.:

$dbh = new PDO('pgsql:user=exampleuser dbname=exampledb password=examplepass');

In fact as the C library call PQconnectdb underlies this implementation, you can supply anything that this library call would take - the "pgsql:" prefix gets stripped off before PQconnectdb is called, and if you supply any of the optional arguments (e.g. user), then these arguments will be added to the string that you supplied...  Check the docs for your relevant PostgreSQL client library: e.g.

http://www.postgresql.org/docs/8.3/static/libpq-connect.html

If you really want, you can use ';'s to separate your arguments - these will just be converted to spaces before PQconnectdb is called.

Tim.
Chris C. 14-Nov-2005 09:12
The PDO_PGSQL DSN should be seperated by semi-colons not spaces. It should follow the convention like the rest of the PDO DSNs.

'pgsql:dbname=example;user=nobody;password=change_me;host=localhost'

 
show source | credits | stats | sitemap | contact | advertising | mirror sites