我如何知道哪个进程或用户正在使用PostgreSQL的template1数据库?

时间:2019-08-07 19:42:41

标签: postgresql

我正在尝试在客户的PostgreSQL 8.1系统(一些旧的Windows OS;我不确定是哪个)上创建一个数据库(是的,我知道它很古老,但是可以正常工作。)。这表明源数据库template1正在被另一个用户访问。该系统上唯一应有的用户是我公司提供的程序和脚本。我可以使用template0创建数据库,但我不希望这样做,以防template1中有重要的内容(对此我表示怀疑)。我不想重新启动PostgreSQL服务,因为这将中断生产监视,尽管生产不会受到影响。

那么,有什么方法可以找到正在使用template1数据库的进程吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试查询pg_stat_activity

SELECT *
       FROM pg_stat_activity
       WHERE datname = 'template1';