CentOS 6.3下PostgreSQL 的安装与配置
一、简介
PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。这个起源于伯克利(BSD)的数据库研究计划目前已经衍生成一项国际开发项目,并且有非常广泛的用户。
二、系统环境
系统平台:CentOS release 6.3 (Final)
PostgreSQL 版本:PostgreSQL 9.2.4
防火墙已关闭/iptables: Firewall is not running.
SELINUX=disabled
三、安装方式
A. RPM包安装
B. yum 安装
C. 源码包安装
四、安装过程
A. RPM包安装
1. 检查PostgreSQL 是否已经安装
# rpm -qa|grep postgres
若已经安装,则使用rpm -e 命令卸载。
2. 下载RPM包
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-9.2.4-1PGDG.rhel6.i686.rpm
3. 安装PostgreSQL,注意安装顺序
# rpm -ivh postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm
4. 初始化PostgreSQL 数据库
PostgreSQL 服务初次启动的时候会提示初始化。

初始化数据库
# service postgresql-9.2 initdb

5. 启动服务
# service postgresql-9.2 start

6. 把PostgreSQL 服务加入到启动列表
# chkconfig postgresql-9.2 on
# chkconfig --list|grep postgres

7. 修改PostgreSQL 数据库用户postgres的密码(注意不是linux系统帐号)
PostgreSQL 数据库默认会创建一个postgres的数据库用户作为数据库的管理员,默认密码为空,我们需要修改为指定的密码,这里设定为’postgres’。
# su - postgres
$ psql
# ALTER USER postgres WITH PASSWORD 'postgres';
# select * from pg_shadow ;

8. 测试数据库
8.1 创建测试数据库
# create database david;

8.2 切换到david 数据库
# \c david

8.3 创建测试表
david=# create table test (id integer, name text);

8.4 插入测试数据
david=# insert into test values (1,'david');
INSERT 0 1
david=#
8.5 选择数据

david=# select * from test ;
id | name
----+-------
1 | david
(1 row) david=#

测试完成,RPM包安装成功。
9. 修改linux 系统用户postgres 的密码
PostgreSQL 数据库默认会创建一个linux 系统用户postgres,通过passwd 命令设置系统用户的密码为post123。
# passwd postgres

10. 修改PostgresSQL 数据库配置实现远程访问
10.1 修改postgresql.conf 文件
# vi /var/lib/pgsql/9.2/data/postgresql.conf

如果想让PostgreSQL 监听整个网络的话,将listen_addresses 前的#去掉,并将 listen_addresses = 'localhost' 改成 listen_addresses = '*'
10.2 修改客户端认证配置文件pg_hba.conf
将需要远程访问数据库的IP地址或地址段加入该文件。
# vi /var/lib/pgsql/9.2/data/pg_hba.conf

11. 重启服务以使设置生效
# service postgresql-9.2 restart

12. 远程测试连接


连接成功。
B. yum 安装
1. 将刚才安装的PostgreSQL 卸载
//停止PostgreSQL服务
# /etc/init.d/postgresql-9.2 stop

//查看已安装的包
# rpm -qa|grep postgres

//卸载
# rpm -e postgresql92-server-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-contrib-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-libs-9.2.4-1PGDG.rhel6.i686

2. yum 安装
如果是默认yum 安装的话,会安装较低版本的PostgreSQL 8.4,这不符合我们的要求。

我们使用PostgreSQL Yum Repository 来安装最新版本的PostgreSQL。
2.1 安装PostgreSQL yum repository
# rpm -i http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-redhat92-9.2-7.noarch.rpm

2.2 安装新版本PostgreSQL
# yum install postgresql92-server postgresql92-contrib

2.3 查看安装

3. 初始化并启动数据库


4. 测试

其他步骤如A方式。
C. 源码包安装
1. 下载PostgreSQL 源码包
# wget http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
2. 解压源码包
# tar xjf postgresql-9.2.4.tar.bz2
3. 进入解压后的目录
# cd postgresql-9.2.4

4. 查看INSTALL 文件
INSTALL
文件中Short Version 部分解释了如何安装PostgreSQL 的命令,Requirements 部分描述了安装PostgreSQL
所依赖的lib,比较长,先configure 试一下,如果出现error,那么需要检查是否满足了Requirements 的要求。

5. 开始编译安装PostgreSQL 数据库。
[root@TS-DEV postgresql-9.2.4]# ./configure

configure 成功,无错误。
6. 执行gmake
[root@TS-DEV postgresql-9.2.4]# gmake

gmake 成功,Ready to install.
7. 执行gmake install
[root@TS-DEV postgresql-9.2.4]# gmake install

gmake install 成功,到这一步,PostgreSQL 源码编译安装完成,下面开始配置PostgreSQL.
8. 设置环境变量
# vi .bash_profile
把 PATH=$PATH:$HOME/bin
改成 PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin
保存退出。
让环境变量生效:
# source .bash_profile
9. 添加用户postgres
# adduser postgres

* 更改用户目录(可选操作)
# vi /etc/passwd
把 postgres:x:528:528::/home/postgres:/bin/bash
改成 postgres:x:528:528::/usr/local/pgsql:/bin/bash
将.bash_profile 移动到新的用户目录并修改权限
# cp /home/postgres/.bash_profile /usr/local/pgsql/
# chown postgres.postgres .bash_profile
删除用户目录:
[root@TS-DEV home]# rm -rf postgres/
10. 初始化数据库
10.1 新建数据目录
# mkdir /usr/local/pgsql/data
10.2 更改权限
# chown postgres /usr/local/pgsql/data
10.3 切换到postgres 用户
# su - postgres

10.4 init db
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/

到这里数据的初始化就完成了。
11. 系统服务
11.1 回到root 用户
$ exit
11.2 复制安装目录下的linux文件到/etc/init.d/
进入postgresql 的安装目录(即刚刚使用tar命令解压的目录)
# cd postgresql-9.2.4
# cp contrib/start-scripts/linux /etc/init.d/postgresql

11.3 添加执行权限
# chmod +x /etc/init.d/postgresql
11.4 启动数据库

11.5 让数据库开机启动
# chkconfig --add postgresql
# chkconfig postgresql on

11.6 创建数据库操作的历史记录文件

12. 测试使用
# su - postgres
$ createdb test
$ psql test
test=# create table test(id int);

源码编译安装成功。
CentOS 6.3下PostgreSQL 的安装与配置的更多相关文章
- Linux——CentOS 6.3下PostgreSQL 的安装与配置
一.简介 PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统.有些特性甚至连商业数据库 都不具备.这个起源于伯 ...
- CentOS 6.5 下HeartBeat的安装与配置
CentOS 6.5 下HeartBeat的安装与配置 参考网站: http://wenku.baidu.com/link?url=BvqJatdx1m12PLil-7YA1zkM0yUOEO8OnN ...
- CentOS 6.6下JDK1.7安装与配置(Linux)经典入门详解案例
最近用的linux较多,在网站找了一些关于linux环境下jdk安装的教程,过程是有的但是好多细节都没有表现出来,所以我花了点时间总结了一下,希望对大家都有帮助... CentOS下JDK1.7安装与 ...
- CentOS下PostgreSQL的安装与配置
一.CentOS下PostgreSQL的yum安装: #安装yum源,默认源存在对版本的支持不好,下载不到等等问题. yum install http://yum.postgresql.org/9.5 ...
- centos下postgresql的安装与配置[转]
本文摘自:http://blog.chinaunix.net/uid-24846094-id-78490.html 一.安装(以root身份进行) 1.检出最新的postgresql的yum配置从ht ...
- CentOS 7.5下KVM的安装与配置
由于没有物理机可用,在自己的VMware Workstation中CentOS 7.5下搭建完成. 首先查看VMware Workstation是否支持虚拟化,把红框内打钩即可. 虚拟化开启并安装Ce ...
- Linux下PostgreSQL 的安装与配置
一.简介 PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统.有些特性甚至连商业数据库都不具备.这个起源于伯克 ...
- centos7下postgresql数据库安装及配置
1.安装 #yum install -y postgresql-server 2.postgresql数据库初始化 #service postgresql initdb 3.启动postgresql服 ...
- CentOS 6.3下NTP服务安装和配置
测试环境: NTPserver 192.168.1.252 NTPclient 192.168.1.251 准备工作: 关闭selinux: vi /etc/selinux/config SELINU ...
随机推荐
- ios batchRequest
https://github.com/facebook/pop AF 为什么要用 一个线程去进行 1.这有什么好处 因为其生产额外的线程也要 开销的 asi 和af都是这么去做的 2.本身所 ...
- CentOS6.4 配置Haproxy
Haproxy下载地址:http://pan.baidu.com/share/link?shareid=1787182295&uk=1829018343 也可用wget http://hapr ...
- 一个简单的SqlServer游标使用
declare @id int ) declare c_department cursor for select id,name from department open c_department f ...
- 使用STL库sort函数对vector进行排序
使用STL库sort函数对vector进行排序,vector的内容为对象的指针,而不是对象. 代码如下 #include <stdio.h> #include <vector> ...
- 使用GCD
使用GCD 什么是 GCD Grand Central Dispatch (GCD) 是 Apple 开发的一个多核编程的解决方法.该方法在 Mac OS X 10.6 雪豹中首次推出,并随后被引入到 ...
- currentRowChanged 的注意事项
Qt中的表单控件QListWidget类提供了许多信号函数,可以和用户交互,其中有个currentRowChanged ( int currentRow ) 是检测当前选中行是否发生了改变,如果改变了 ...
- hdu Pie
这道题是一道二分搜索的题,首先计算出最大的平均体积:mx=V总/f:然后去left=0,right=mx,mid=(left+right)/2进行二分搜索,当所有pi分割出的mid的个数是大于等于f时 ...
- 如何设置NBU的Backup, Archive and Restore
第一行表示Master Server 第二行猜测表示当前主机 第三行不清楚 总结: 1. 这里压根就没有Media Server的事, Media Server对整个备份系统来说是透明的. 2. ...
- 给php增加gd库(转)
1.安装zlib tar zxvf zlib-1.2.3.tar.gz cd zlib-1.2.3 ./configure --prefix=/usr/local/zlib make make ins ...
- HDU 1789 贪心经典
题意 给出n门作业的截止时间与分数 如果不能在那天结束前做完就扣掉相应分数 问怎么安排能让扣分最少 思路 先按分数从大到小排序 先研究大的 做好标记 一开始每天都能放作业 全是true 如果这一天已经 ...