为了测试流复制,我想在同一台机器上创建第二个Postgres实例.这个想法是,如果它可以在测试服务器上完成,那么在两个生产服务器上设置它应该是微不足道的.
实例应使用不同的配置文件和不同的数据目录.我尝试按照这里的说明http://ubuntuforums.org/showthread.php?t=1431697但我还没弄明白如何让Postgres使用不同的配置文件.如果我复制init脚本,脚本只是同一Postgres实例的别名.
我正在使用Postgres 9.3和Postgres帮助页面说明在postgres
命令行上指定配置文件.我不确定这意味着什么.我应该为此安装一些客户端吗?谢谢.
cac*_*que 21
我假设您可以使用postgresql实用程序.
创建群集
$ initdb -D /path/to/datadb1
$ initdb -D /path/to/datadb2
Run Code Online (Sandbox Code Playgroud)
运行实例
$ pg_ctl -D /path/to/datadb1 -o "-p 5433" -l /path/to/logdb1 start
$ pg_ctl -D /path/to/datadb2 -o "-p 5434" -l /path/to/logdb2 start
Run Code Online (Sandbox Code Playgroud)
测试流媒体
现在,您在端口5433和5434上运行了两个实例.它们的配置文件位于由指定的数据目录中initdb
.调整它们以进行流复制.
您的默认安装在端口5432中保持不变.
小智 6
Steps to create New Server Instance on PostgreSQL 9.5
On command prompt run:
initdb -D Instance_Directory_path -U username -W
Run Code Online (Sandbox Code Playgroud)
(prompts for password)
Once the new Instance Directory is created. Run command prompt as Administrator
pg_ctl register -N service_name -D Instance_Directory_path -o "-p port_no"
Run Code Online (Sandbox Code Playgroud)After the service is registered, start server
pg_ctl start -D Instance_Directory_path -o "-p port_no"
Run Code Online (Sandbox Code Playgroud)在基于Debian的发行版上,您可以使用pg_createcluster
代替initdb
:
$ pg_createcluster -u [user] -g [group] -d /path/to/data -l /path/to/log -p 5433
Run Code Online (Sandbox Code Playgroud)
也pg_ctlcluster
可以替代pg_ctl
。
归档时间: |
|
查看次数: |
28253 次 |
最近记录: |