语境:
我在postgresql-9.1
Ubuntu 服务器上自动安装apt-get
. 这将创建所需的postgres
用户。
Postgres 数据位于重新安装后仍然存在的外部卷上。该数据显然归postgres
用户所有。
我遇到的问题是所有权没有记录在 name下,而是记录在创建时postgres
的 UID 下。postgres
重新安装服务器时,postgres
有时会获得不同的 UID,并且不再拥有数据目录,因此无法正常工作。
问题:
我可以postgres
将由创建的用户的 UID 强制设置apt-get
为固定值吗?或者还有其他方法可以解决我的问题吗?
(您可能已经推断,这是在 Amazon EC2 上,数据在 EBS 卷上)
两个想法:
postgres
在安装 PostgreSQL 之前使用正确的 UID创建您的用户。chown
.从这里偷了这个:Lethe 的博客
但我实际上认为 chown 会比这更好,因为它不会
desired_UID
因为已经使用或以其他方式充满冲突而失败。我可以将
chown
数据目录添加到服务器设置脚本,但我更喜欢更优雅的解决方案。也因为还有其他服务,比如 Tomcat,也有同样的问题。