“sudo apt-get purge postgr*”是否会删除数据库文件?

“sudo apt-get purge postgr*”是否会删除数据库文件?

我跑了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不是将要清除的内容的可靠指标;清除可能涉及可以删除其他文件的维护者脚本。)

相关内容