我需要查看提交到PostgreSQL服务器的查询.通常我会使用SQL Server profiler在SQL Server land中执行此操作,但我还没有找到如何在PostgreSQL中执行此操作.似乎有很多付费工具,我希望有一个开源版本.

推荐答案

您可以使用log_statement config设置来获取服务器上所有查询的列表

https://www.postgresql.org/docs/current/static/runtime-config-logging.html#guc-log-statement

只需设置它和日志(log)文件路径,就可以得到列表.您还可以将其配置为仅记录长时间运行的查询.

然后,您可以接受这些查询并对其运行EXPLAIN,以了解它们的情况.

https://www.postgresql.org/docs/9.2/static/using-explain.html

Postgresql相关问答推荐

无法在PostgreSQL中创建方案和表

哪种数据类型是除法的结果?

sqlalchemy在Flask 下运行时出现无法解释的错误

PG 16 的 AGE 安装抛出错误:无法创建 src/backend/parser/ag_scanner.c

JOOQ:数据库版本早于 COCKROACHDB 支持的方言:13.0.0

PostgreSql maintenance_work_mem 在索引创建期间增加

无法从 docker-compose 上的其他服务解析 postgres 主机名

PostgreSQL 中的复制槽是否会阻止删除 WALL,即使它们来自另一个数据库?

Spring:如何在 PostgreSQL 中使用 KeyHolder

PostgreSQL 中基于时间戳的移动平均线

SQLAlchemy 中使用什么类型存储字节字符串?

Docker Compose + Spring Boot + Postgres 连接

Docker - Postgres 和 pgAdmin 4:Connection refused

将 SELECT 结果作为参数传递给 postgreSQL 函数

Postgres 日期重叠约束

Hibernate 启动很慢

如何在postgresql中编写关于最大行数的约束?

当从 Heroku pg:pull 数据库时提示:role "root" does not exist.

在 Flask-sqlalchemy 和 Postgresql 中使用 JSON 类型

性能调优:为布尔列创建索引