ae_fed Asked: 2023-08-03 22:17:37 +0800 CST2023-08-03 22:17:37 +0800 CST 2023-08-03 22:17:37 +0800 CST 如何获取 Postgres 数据库中执行的 SQL 查询的历史记录?[复制] 772 如果我使用以下查询 SELECT query FROM pg_stat_activity WHERE datname = 'database_1'; 我只得到数据库“database_1”中执行的最后一个查询。我怎么解决这个问题? postgresql 1 个回答 Voted Best Answer Laurenz Albe 2023-08-03T22:34:45+08:002023-08-03T22:34:45+08:00 PostgreSQL 不会在数据库中保留执行的 SQL 语句的历史记录。 您需要使用的是日志文件。如果设置log_statement = 'all',PostgreSQL 将记录所有语句。如果要查看数据库中的日志文件,可以为日志文件设置log_destination = 'csvlog'并定义一个file_fdw外表。
PostgreSQL 不会在数据库中保留执行的 SQL 语句的历史记录。
您需要使用的是日志文件。如果设置
log_statement = 'all'
,PostgreSQL 将记录所有语句。如果要查看数据库中的日志文件,可以为日志文件设置log_destination = 'csvlog'
并定义一个file_fdw外表。