【转帖】如何在redhat单机服务器上运行postgresql的多个实例(howto run multiple postgresql instance on one redhat server)
Running multiple PostgreSQL 9.2 Instances on one server in CentOS 6/RHEL 6/Fedora
原帖网站速度很慢,故转帖在此
This post describes how to run multiple PostgreSQL 9.2 Instances on one server in CentOS 6/RHEL 6/Fedora flavors. I am assuming that you have a running postgresql engine on the server already. If not check this post on how to install postgresql server that I wrote earlier and install the first/main instance. Now that you have a running database engine(I will call it first instance) you can start slicing second instance on the same server. As most of my posts I will divide this post into multiple steps for easier understanding and implementation.
- 1. Create new data directories for this second instance and let postgres user own them
mkdir /var/lib/pgsql/9.2/data2
chown postgres.postgres /var/lib/pgsql/9.2/data2

- 2. Create new init script for this instance and edit it
Copy the init script from first instance and rename it to postgresql2-9.2 and edit it for making changes that reflect the new data directory that we created in the above step.
cp /etc/init.d/postgresql-9.2/etc/init.d/postgresql2-9.2
vi /etc/init.d/postgresql2-9.2

modify the following lines as shown below:
73# Set defaults for configuration variables
74 PGENGINE=/usr/pgsql-9.2/bin
75 PGPORT=5433
76 PGDATA=/var/lib/pgsql/9.2/data2
77 PGLOG=/var/lib/pgsql/9.2/pgstartup2.log
78# Log file for pg_upgrade
79 PGUPLOG=/var/lib/pgsql/$PGMAJORVERSION/pgupgrade2.log
80
81 lockfile="/var/lock/subsys/${NAME}"
82 pidfile="/var/run/postmaster2-9.2.pid"

I have updated PGPORT, PGDATA, PGLOG, PGUPLOG, pidfile variables specific to this new instance. You can subscript to what ever you like. I am currently sub-scripting all file names with 2. Also you can use what ever open port you want this new server instance to run on.
- 3. Initialize and start this new postgres instance
service postgresql2-9.2 initdb
service postgresql2-9.2 start

- 4. Update configs : pg_hba.conf and postgresql.conf
Update the listen address and port variable values to reflect to what they actually should be.
vi /var/lib/pgsql/9.2/data2/postgresql.conf
57# - Connection Settings -
58
59 listen_addresses ='*'# what IP address(es) to listen on;
60# comma-separated list of addresses;
61# defaults to 'localhost'; use '*' for all
62# (change requires restart)
63 port =5433# (change requires restart)
Update pg_hba.conf to your needs. Please check my other post that I have link up on how to install postgresql 9.2 which have a bit more description on ph_hba conf file.

- 5. Test connect and add this new instance service to server startup
Connect to this new instance, and see if you can connect, create a user and do what ever you want there.
su postgres
psql -p5433 -dpostgres

And here is how you add it to server startup list :
chkconfig --add postgresql2-9.2
chkconfig postgresql2-9.2--level 2345 on

Thats all folks you have a new shiny postgres instance running on the same server as main instance. You can slice as many instances as you want as long as you have enough memory and processors on this server. Open up this port in iptables to access it from outside the server if needed.
If you happen to have any issues are stuck in the process, please feel free to email me or post in comments.
【转帖】如何在redhat单机服务器上运行postgresql的多个实例(howto run multiple postgresql instance on one redhat server)的更多相关文章
- 如何在Ubuntu的idea上运行Hadoop程序
如何在Ubuntu的idea上运行Hadoop程序 一.前言 在idea上运行Hadoop程序,需要使用Hadoop的相关库,Ubuntu为Hadoop的运行提供了良好的支持. 二.操作方法 首先我们 ...
- 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行
一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...
- Visual Studio写的项目在 IIS 服务器上运行的两种简单方法
首先需要PC上开启了IIS服务,相关方法网上很多,也很简单 第一种:直接在项目中操作 1.创建一个项目,然后右击选中项目,右击,单击属性,打开项目属性标签页面 如图,选择Web标签,在服务器栏目中选中 ...
- Linux 笔记 #03# 在 Debian远程服务器上运行 Java socket程序
我试图做什么:把我的破代码放到服务器上运行,并成功与客户端进行 socket通信. 预备环境:刚安装好 MySQL 和 JVM 的 Linux远程服务器(Debian 8)一台. 主要有如下几个步骤: ...
- 在Linux服务器上运行Jupyter notebook server教程
在Linux服务器上运行Jupyter notebook server教程 很多deep learning教程都推荐在jupyter notebook运行python代码,方便及时交互.但只在本地运行 ...
- 在服务器上运行db:seed数据填充时,出错的问题解决
在服务器上运行db:seed数据填充时,出错的问题解决 运行composer dump-autoload
- 在linux云服务器上运行Jar文件
在linux服务器上运行Jar文件时通常的方法是: $ java -jar test.jar 这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务,有没有办法让Jar在后台 ...
- 在服务器上运行Jar包
在服务器上运行Jar包 并且该Jar包依赖其他的Jar文件的时候,采用如下格式 java -Djava.ext.dirs=你依赖的Jar文件路径 -jar 你要运行的Jar文件 包名+类名 例如: j ...
- Asp.Net终于可以在龙芯服务器上运行啦:Jexus成功完成对国产系列CPU的适配
为了确保我国信息化建设“安全可靠”,使用国产关键系统.关键应用.关键软硬件替代国外信息技术产品,已经在党政部门.国营企事业单位得到了进一步落实.过去运行于 Windows 服务器的 Web 应用程序, ...
随机推荐
- 6. 支持向量机(SVM)核函数
1. 感知机原理(Perceptron) 2. 感知机(Perceptron)基本形式和对偶形式实现 3. 支持向量机(SVM)拉格朗日对偶性(KKT) 4. 支持向量机(SVM)原理 5. 支持向量 ...
- java replace方法 无法改变原字符串,使用时需重新赋值
// TODO:把网页中的链接替换为本地路径及文件名 for (String link : links) { String baseLink = "http://localhost:91/q ...
- 【Unity】使用AssetDatabase编辑器资源管理
最近参考了各位大神的资源,初步学习了Unity的资源管理模式,包括在编辑器管理(使用AssetDatabase)和在运行时管理(使用Resources和AssetBundle).在此简单总结编辑器模式 ...
- Mac OS下 Redis2.6.14部署记录
Mac OS下 Redis2.6.14部署记录 部署一个Redis作为缓存进行验证,记录部署过程. 官网:http://redis.io/,目前最近稳定版为2.6.14 解压,进入目录.按照READ ...
- openwrt MT7620 固件编译记录
下载,安装相关软件 git clone git@github.com:openwrt-mirror/openwrt.git sudo apt-get install gcc g++ binutils ...
- Python基础知识小结
1. 关于函数传参 def func(n, *args, **kwargs): print n print args print kwargs if __name__ == '__main__': # ...
- HashSet与TreeSet 区别
HashSetHashSet有以下特点 不能保证元素的排列顺序,顺序有可能发生变化 不是同步的 集合元素可以是null,但只能放入一个null当向HashSet集合中存入一个元素时,HashSe ...
- 经典ajax 状态响应图
- iOS 基础入门--Bull' Eye 小游戏
说明 Bull's Eye小游戏是http://www.raywenderlich.com/store/ios-apprentice里非常酷的入门demo 跟着该教程一步步做下来便有了 ...
- 工行金邦达USBKey 在Mac OS的 Parallels Desktop 的虚拟Win7出现“ PKCS11
由于经常用到支付宝的工行付款,所以在我的mac os中安装了Parallels Desktop 7(Win7旗舰版),但随之而来的问题是,运行PD后,再插入工行的USBkey,运行工具箱后出现“PKC ...