(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