(PHP 5, PHP 7, PHP 8)
pg_parameter_status — 查找服务器的当前参数设置
查找服务器的当前参数设置。
某些参数值由服务器在连接启动时或其值发生更改时自动报告。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
。请注意,此值区分大小写。
版本 | 描述 |
---|---|
8.1.0 | connection 参数现在期望一个 PgSql\Connection 实例;以前,期望一个 资源。 |
示例 #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