当我在控制台窗口中键入ps aux
以查看PostgesSQL的哪个进程占用所有CPU时,我收到了这样的结果:
$ ps aux | grep postgres
postgres: username dbname 127.0.0.1(39352) SELECT
postgres: username dbname 127.0.0.1(39414) SELECT
是否可以配置PGSQL以接收类似的结果?
$ ps aux | grep postgres
postgres: username dbname 127.0.0.1(39352) SELECT id FROM clients WHERE ...
postgres: username dbname 127.0.0.1(39414) INSERT INTO users (...
答案 0 :(得分:1)
不,不可能。从理论上讲,你可以修改PostgreSQL服务器源代码,但可能没人会这样做。当您需要详细信息时,正确的解决方案是查询pg_stat_activity
表。
[pavel@dhcppc2 citext]$ psql -c "select datname, client_addr, state, query from pg_stat_activity"
┌──────────┬─────────────┬────────┬─────────────────────────────────────────────────────────────────┐
│ datname │ client_addr │ state │ query │
╞══════════╪═════════════╪════════╪═════════════════════════════════════════════════════════════════╡
│ postgres │ ( null ) │ active │ select datname, client_addr, state, query from pg_stat_activity │
└──────────┴─────────────┴────────┴─────────────────────────────────────────────────────────────────┘
(1行)