(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