值得知道的是,您可以在连接字符串中设置 application_name,请考虑这个简单的示例
<?php
$appName = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$connStr = "host=localhost port=5432 dbname=postgres user=postgres options='--application_name=$appName'";
//简单的检查
$conn = pg_connect($connStr);
$result = pg_query($conn, "select * from pg_stat_activity");
var_dump(pg_fetch_all($result));
?>
通过在命令行或CGI中执行此操作,你可以在pgAdmin中查看正在运行的脚本或数据库中正在运行的请求。你可以扩展PostgreSQL的配置以跟踪慢查询并将应用程序名称打印到日志中。这对我找出应该优化什么以及在哪里优化非常有用。