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"
查看服务已经成功注册,这样就可设置服务随开机一块儿启动了