我正在尝试在客户的PostgreSQL 8.1系统(一些旧的Windows OS;我不确定是哪个)上创建一个数据库(是的,我知道它很古老,但是可以正常工作。)。这表明源数据库template1正在被另一个用户访问。该系统上唯一应有的用户是我公司提供的程序和脚本。我可以使用template0创建数据库,但我不希望这样做,以防template1中有重要的内容(对此我表示怀疑)。我不想重新启动PostgreSQL服务,因为这将中断生产监视,尽管生产不会受到影响。
那么,有什么方法可以找到正在使用template1数据库的进程吗?
答案 0 :(得分:2)
您可以尝试查询pg_stat_activity
。
SELECT *
FROM pg_stat_activity
WHERE datname = 'template1';