我的计算机上有一个PostgreSQL DB,并且我有一个在其上运行查询的应用程序.

如何查看在我的数据库上运行了哪些查询?

我使用Linux电脑和pgadmin.

推荐答案

打开服务器日志(log):

log_statement = all

这将记录对数据库服务器的每次调用.

I would not use log_statement = all on a production server. Produces huge log files.
The manual about logging-parameters:

log_statement(enum)

控制记录哪些SQL语句.有效值为none(关闭)、ddlmodall(所有语句).[.]

重置log_statement参数需要重新加载服务器(SIGHUP).需要重新启动not.读the manual on how to set parameters.

不要混淆服务器日志(log)和pgAdmin日志(log).两件不同的事!

您还可以在pgAdmin中查看服务器日志(log)文件,前提是您有权访问这些文件(远程服务器可能不是这种情况),并对其进行正确设置.在pgadmin III中,请看一下:Tools -> Server status.pgadmin4中删除了该选项.

我更喜欢使用vim(或您 Select 的任何编辑器/阅读器)阅读服务器日志(log)文件.

Database相关问答推荐

避免数据库联接的两个查询替换

1-2400之间格式奇怪的时间数据

如何在 ubuntu 中使用脚本添加带有连字符的数据库名称

mysql数据库自动分区

优雅地处理 EJB/JPA 环境中的约束冲突?

在 Oracle 的 Check 语句中使用子查询

如何禁用 Django 查询缓存?

库存数据库的最佳 struct

在表上插入或更新违反外键约束

在 PostgreSQL 上获取数据库创建日期

在数据库中存储枚举值的最佳方式 - String 或 Int

设计数据库时最重要的考虑因素是什么?

审计表:一个表或一个表的每个字段

我们如何保存在 sqlite3 中创建的数据库

如何使用 PHP 代码将图像上传到 MySQL 数据库

从旧数据 struct 到新数据 struct 的数据迁移

如何在每个 SQLite 行中插入唯一 ID?

如何在数据库中获取原始的created_at值(不是转换为 ActiveSupport::TimeWithZone 的对象)

查询以查找列的 nᵗʰ 最大值

如何使用 T-SQL 检测 SQL Server 数据库的只读状态?