pg_parameter_status
サーバーのパラメータ設定を検索する
説明
string pg_parameter_status(PgSql\Connection $connection = ?, string $param_name)
いくつかのパラメータについては、接続の確立時や値の変更時にサーバーから
自動的に通知されます。pg_parameter_status は
これらの設定問い合わせるために使用可能です。指定したパラメータが存在する
場合にその値を、存在しない場合に false を返します。
PostgreSQL 8.0 で指定できるパラメータには以下が含まれます。
server_version、
server_encoding、client_encoding、
is_superuser、session_authorization、
DateStyle、TimeZone および integer_datetimes
(server_encoding、TimeZone および
integer_datetimes は 8.0 より前のバージョンでは指定できません)。
server_version、server_encoding および integer_datetimes
は、PostgreSQL の稼動中には変更できないことに注意しましょう。
PostgreSQL 7.3 以前のサーバーはパラメータ設定を通知する機能を持っていません。
しかし、pg_parameter_status には
server_version および client_encoding
を取得する機能を組み込んでいます。これらの値を取得するためにアプリケーションで
アドホックなコードを書くのではなく、pg_parameter_status
を使用することを推奨します。
警告
7.4 より前の PostgreSQL サーバーでは、接続の確立後に SET
を用いて client_encoding を変更しても
pg_parameter_status には反映されません。
パラメータ
-
connection
-
PgSql\Connection クラスのインスタンス。
connection が指定されない場合は、デフォルトの接続を使います。
デフォルトの接続とは、pg_connect または pg_pconnect によって確立された直近の接続です。
警告PHP 8.1.0 以降では、デフォルトの接続を使うことは推奨されなくなりました。
-
param_name
-
指定可能な param_name には以下が含まれます。
server_version、
server_encoding、client_encoding、
is_superuser、session_authorization、
DateStyle、TimeZone および
integer_datetimes。
この値は、大文字小文字を区別するので注意して下さい。
戻り値
パラメータの値を文字列で返します。失敗した場合や
param_name が間違っている場合には
false を返します。
例
例1 pg_parameter_status の例
<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");
echo "Server encoding: ", pg_parameter_status($dbconn, "server_encoding");
?>
Server encoding: SQL_ASCII