我需要为我们的生产服务器添加额外的实例。
这可能吗?
从哪里开始?
在 Windows 服务器上使用 Postgresql 9.1
最佳答案
如果您已经拥有二进制文件,则可以通过运行 initdb
然后将该新实例注册为 Windows 服务来添加第二个实例(“集群”)。
(我不会在可执行文件的名称前添加它们的存储路径。您需要将 Postgres 安装的 bin
目录添加到系统范围的 PATH
,使用完全限定的名称,或者简单地切换到 bin
目录以使其成为当前目录)
为此,打开命令行 (cmd.exe
) 并使用 initdb
创建实例:
initdb -D c:\Data\PostgresInstance2 -W -A md5
-W
使 initdb 提示您输入要用作该实例的 super 用户的名称和密码 - 确保您记住您提供的用户名和密码。 -D
指定应在何处 创建集群。 不要在c:\Program Files
下创建它。
实例(集群)初始化后,编辑 c:\Data\PostgresInstance2\postgresql.conf
以使用不同的端口,例如端口 = 5433
。如果该实例应该可以从外部访问,您还需要调整 listen_addresses
。
您可以通过手动启动新实例来检查是否一切正常:
pg_ctl start -D c:\Data\PostgresInstance2
更改端口(并调整其他配置参数)后,您可以为新集群创建 Windows 服务:
pg_ctl register -N postgres2 -D c:\Data\PostgresInstance2
该服务将使用“本地网络帐户”执行,因此您必须确保数据目录的权限设置正确。
关于database - PostgreSQL : How to create two instances in same window machine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39842725/