语境:
我使用apt-get自动在Ubuntu服务器上安装postgresql-9.1 。 这将创build所需的postgres用户。
Postgres数据位于重新安装后的外部卷上。 这些数据显然是由postgres用户拥有的。
我遇到的问题是,所有权不是以postgres的名字logging的,而是根据postgres在创build时的UID。 当服务器重新安装时, postgres有时会得到不同的UID,不再拥有数据目录, 因此不起作用 。
题:
我可以强制apt-get创build的用户postgres的UID固定的东西吗? 还是有另一种方法来解决我的问题?
(正如您可能已经推断的那样,这是在Amazon EC2上的EBS卷上的数据)
两个想法:
postgres用户。 chown 。 usermod -u {desired_UID} {username}
从这里偷走这个: Lethe的博客
但是我认为chown会比这更好,因为它已经被使用或者其他方式的冲突不能失败。
我可以添加一个数据目录的chown到服务器设置脚本,但我更喜欢更优雅的解决scheme。 也因为有其他的服务,像Tomcat一样,都有同样的问题。