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"

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

Postgres 多实例实例部署方式的更多相关文章
- MySQL多配置方式的多实例的部署
安装MySQL需要注意的事项: 选择MySQL的版本的建议: 1)稳定版:选择开源的社区版的稳定版GA版本 2)选择MySQL数据库GA版本发布后六个月以后得GA版本 3)选择发布版本前后几个月没有大 ...
- Tomcat学习总结(10)——Tomcat多实例冗余部署
昨天在跟群友做技术交流的时候,了解到,有很多大公司都是采用了高可用的,分布式的,实例沉余1+台.但是在小公司的同学也很多,他们反映并不是所有公司都有那样的资源来供你调度.往往公司只会给你一台机器,因为 ...
- 如何利用脚本实现MySQL的快速部署以及一机多实例的部署
MySQL有三个版本:二进制,源码包,RPM. 下面讲讲二进制包的安装过程 下载地址: http://dev.mysql.com/downloads/mysql/ 选择Linux-Generic 我这 ...
- [原]php远程odbc连接sqlsvr数据库,自定义端口,命名实例的连接方式
远程odbc连接sqlsvr数据库,自定义端口,命名实例的连接方式,默认如果不修改的话sqlsvr的端口号是1433,默认实例名就是机器名,,如果既用了命名实例,又改了默认端口,改怎么连接数据库呢? ...
- Linux平台Oracle 12.1.0.2 单实例安装部署
主题:Linux平台Oracle 12.1.0.2 单实例安装部署 环境:RHEL 6.5 + Oracle 12.1.0.2 需求:安装部署OEM 13.2需要Oracle 12.1.0.2版本作为 ...
- vue-learning:30 - component - 组件实例的引用方式
组件实例的引用方式 ref / $refs $root $parent $children 扩展查找任意组件实例的方法 在vue开发的项目中,通常会以一棵嵌套的组件树的形式来组织项目. 都存在着一个根 ...
- 5.7.20 多实例——MGR部署实战
数据库 | MySQL:5.7.20 多实例——MGR部署实战 MGR介绍 基于传统异步复制和半同步复制的缺陷——数据的一致性问题无法保证,MySQL官方在5.7.17版本正式推出组复制(MySQL ...
- GD32F330 | ADC实例 基于DMA方式
GD32F330 | ADC实例 基于DMA方式 简单记录一下 ADC多通道转换 DMA搬运 的使用,以 GD32F330G8U6 为例: 一.ADC 基础知识 12位ADC是一种采用逐次逼近方式的模 ...
- 使用Kylin构建企业大数据分析平台的4种部署方式
本篇博客重点介绍如何使用Kylin来构建大数据分析平台.根据官网介绍,其实部署Kylin非常简单,称为非侵入式安装,也就是不需要去修改已有的 Hadoop大数据平台.你只需要根据的环境下载适合的Kyl ...
- activeMQ主要的几类集群部署方式
官方主从实现的文档:http://activemq.apache.org/masterslave.html 一.activeMQ主要的几类部署方式比较 1.默认的单机部署(kahadb) acti ...
随机推荐
- 第07组 Alpha冲刺(4/6)
队名:摇光 队长:杨明哲 组长博客:求戳 作业博客:求再戳 队长:杨明哲 过去两天完成了哪些任务 文字/口头描述:摇光测评的相关功能. 展示GitHub当日代码/文档签入记录:(组内共用,已询问过助教 ...
- [转]无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
刚学WinAPI编译遇到不少问题,LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用 MSVCRTD.lib test. 这个问题表明你新建 ...
- linux学习(3):linux常用命令大全
Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...
- java 异步操作
/** * 异步删除 * * @param keys */ public void asycExecute(String keys) { ExecutorService executor = Exec ...
- postgres安装pg_buffercache扩展
1.查看是否安装了pg_buffercache postgres=# \dx List of installed extensions Name | Version | Schema | Descri ...
- 如何获取select下拉框中option选中的文本值
$(select的id或者class).change(function(){ $(this).find("option:selected").text() }) 源文:https: ...
- 数据分析入门——pandas之DataFrame数据丢失
一.数据丢失分类 1)nd中分为两种:None和np.nan(NaN) 其中,None是python中的对象,是一个object:而nan是一个float类型 两种不同的类型,运算速度也是不同的 2) ...
- LinkedBlockingQueue与ArrayBlockingQueue
阻塞队列与普通的队列(LinkedList/ArrayList)相比,支持在向队列中添加元素时,队列的长度已满阻塞当前添加线程,直到队列未满或者等待超时:从队列中获取元素时,队列中元素为空 ,会将获取 ...
- explain结果总结
id: SELECT查询序列号(SELECT识别符),也就是一条语句中,该select是第几次出现.在此语句中,select就只有一个,所以是1. select_type:SELECT查询类型 常见取 ...
- DataTable.NET的event執行順序
var dataTable = $('#table') .on( 'processing.dt', function ( e, settings, processing ) { $('#loading ...