2016-02-29 99 views
1

当我在控制台窗口中查看其PostgesSQL的过程中吃了所有的CPU类型ps aux,我收到这样的结果:PostgreSQL的UNIX进程的详细查询

$ 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 (... 

回答

1

不,这是不可能的。理论上你可以修改PostgreSQL服务器源代码,但可能没有人会这样做。当您需要详细信息时,正确的解决方案是查询pg_stat_activity表。

[[email protected] 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行)