要监控CentOS上PostgreSQL的运行状态,您可以使用以下方法:
systemctl命令检查PostgreSQL服务状态:sudo systemctl status postgresql
如果服务正在运行,您将看到类似于以下的输出:
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
Active: active (running) since ...
ps命令检查PostgreSQL进程:ps aux | grep postgres
这将显示与PostgreSQL相关的所有进程。您可以查看进程的状态、CPU使用率等信息。
pg_stat_activity视图检查活动连接和查询:
首先,以postgres用户身份登录到PostgreSQL:sudo -u postgres psql
然后,运行以下SQL查询以查看当前活动连接和查询:
SELECT pid, usename, datname, state, query, client_addr FROM pg_stat_activity;
pg_stat_statements扩展监控查询性能:
首先,确保已安装并启用了pg_stat_statements扩展。然后,运行以下SQL查询以查看查询性能统计信息:SELECT query, calls, total_time, rows, 100.0 * shared_blks_hit / nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent
FROM pg_stat_statements
ORDER BY total_time DESC;
请注意,根据您的需求和环境,您可能需要使用其他命令或查询来监控PostgreSQL。始终确保您具有适当的权限,并在执行任何操作之前备份数据。