Postgres 多实例实例部署方式

  Postgres 数据库在原有示例正常运行情况下,新增一个端口示例,主要目的解决新的项目和原有项目的数据库部署不在冲突,可以独立运行,备份和还原数据互不影响,主要用的的命令有  initdb 数据库初始化 ,pg_ctl start 进行示例的启动,通过 pg_ctl.exe register  可以实现将postgres 注册成windows 服务,解决命令行无法随开机一起启动等问题。 本例子使用的postgres 版本是10 ,pgAdmin4.0。命令环境用的是cmder 强力推荐(https://cmder.net/

  注意为了不影响原有的数据库使用,务必要把原有的示例端口号指定,如果不指定会造成原有数据库示例不能进行连接(详见步骤2)。

  initdb  官方文档写可以用 pg_ctl init[db] [-D datadir] [-s] [-o initdb-options] 代替,我没试过,也可以试试。

    pg_ctl start [-D datadir] [-l filename] [-W] [-t seconds] [-s] [-o options] [-p path] [-c]   启动示例

    pg_ctl register [-D datadir] [-N servicename] [-U username] [-P password] [-S a[uto] | d[emand] ] [-e source] [-W] [-t seconds] [-s] [-o options]   进行window 服务注册

    postgres官网文档对pg_ctl 命令详解 链接 http://www.postgres.cn/docs/10/app-pg-ctl.html

1、 initdb -D C:\Soft\PostgreSQL\10\data2 -E UTF-8 --locale=chs -U postgres -W 如图1 所示;

 

 

     图1 initdb 命令进行初始化数据库

2、修改默认示例data 目录 postgresql.conf 第63行端口号:5432(不然原有示例会报错),如图2所示。

 

 
    图2 修改data\postgresql.conf 默认示例端口,指定为5432 
 

    修改新目录 data2文件夹中配置文件 postgresql.conf  第63行端口号:5433,如图3所示;

 

        图3 修改新目录 data2文件夹中配置文件 postgresql.conf

 

 

 

 

3、 pg_ctl -D ^"C^:^\Soft^\PostgreSQL^\10^\data2^" -l logfile start 启动服务进行测试,如图4所示;
 

 

 

            图4 启动新示例

 

4、客户端连接测试

(1)用pgadmin 连接原有示例5432,配置参数如图5所示; 

 

            图5 pgadmin 连接原有示例5432 

  已经连接成功了,原有示例正常运行~~

 

           图6 pgadmin 展开原有数据库示例 

(2)连接5433 端口示例

 

          图6 pgadmin 连接实例5433

  新端口连接成功! 

 

         图7 pgadmin 连接实例5433

5、将新的端口注册成新的服务 

pg_ctl.exe register -N "pgsql5433" -D "C:\Soft\PostgreSQL\10\data2"

 

 

 查看服务已经成功注册,这样就可设置服务随开机一起启动了

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-12-09 17:19  hzy168  阅读(1879)  评论(0编辑  收藏  举报