我跑了sudo -u postgres psql -c "show data_directory"
,结果显示/var/lib/postgresql/9.5/main
。如果我没理解错的话,这是存放数据库文件的目录。
我跑了sudo apt-get purge postgr*
。这是否删除了数据库文件?运行sudo apt-file list postgresql
没有显示/var/lib/postgresql
在其条目中,这意味着它不应该清除这些文件,对吗?
我问的原因是我不确定数据库中有哪些数据,并且ls -l /var/lib/postgresql
在我清除所有文件上的 postgresql 时运行显示“时间修改”。
答案1
PostgreSQL 11 版本之前的 Debian 软件包在删除服务器软件包时会删除集群;因此,在您的情况下清除postgresql-9.5
会删除数据库。 (看这posgresql-9.6
postrm
了解血淋淋的细节。)
你不是第一个对此感到惊讶的人;错误#911940要求保留数据,Debian 10 中的 PostgreSQL 11 会在删除数据库之前询问用户。
(apt-file list
或者dpkg -L
不是将要清除的内容的可靠指标;清除可能涉及可以删除其他文件的维护者脚本。)