Postgres 多实例实例部署方式

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

  注意为了避免影响原有的数据库使用,务必要把原有的示例端口号指定,若是不指定会形成原有数据库示例不能进行链接(详见步骤2)。sql

  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]   启动示例windows

    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 服务注册app

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

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

 

 

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

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

 

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

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

 

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

 

 

 

 

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

 

 

            图4 启动新示例

 

四、客户端链接测试

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

 

            图5 pgadmin 链接原有示例5432 

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

 

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

(2)链接5433 端口示例

 

          图6 pgadmin 链接实例5433

  新端口链接成功! 

 

         图7 pgadmin 链接实例5433

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

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

 

 

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

相关文章
相关标签/搜索