PostgreSQL版本: 11.2操作系统: RHEL 7.5
我是PostgreSQL的新手。我想知道哪种方式是启动‘数据库服务器’的理想方式。在Oracle世界中,我们将其称为启动实例。
我应该使用选项A还是选项B?
选项A.作为根用户,运行
# systemctl start postgresql-11
选项B.作为postgres用户,运行
$ postgres -D /var/lib/pgsql/11/data
注意:对于选项B,PostgreSQL 11's官方文档提到了一个不同的目录(/usr/local/pgsql/data),如下所示。也许医生没有更新。
$ postgres -D /usr/local/pgsql/data
发布于 2019-02-22 09:07:44
我更喜欢备选方案A。
使用systemctl
确保在计算机启动时正确地(重新)启动服务。
关于数据目录的位置:手册显示了一些缺省值。数据目录的实际位置基本上是由构建RPM (或操作系统使用的任何包)和发行期望或使用的标准的包程序驱动的。如果您愿意,也可以将它放在/databasedata/postgres/pg11/data
或/very/important/data/postgres
下面。
发布于 2019-02-22 15:00:21
我更喜欢选项B,因为这是重新启动PostgreSQL实例的推荐方法。
正如您所提到的,在Oracle中,我们有不同的停止和启动实例的方法,即使在PostgreSQL中,我们也有相同的方法,只需检查pg_ctl -help即可。
您将得到不同的选项来停止数据库。
关于/usr/local/pgsql/data,这只是一个安装数据库文件的目录,您可以在执行initdb时安装您想要的任何位置。
希望能帮上忙。
https://dba.stackexchange.com/questions/230466
复制相似问题