系统环境

 CentOS release 6.2(Final) 64bit

 PostgreSQL版本:9.3.5

 分别使用rpm、源码包、yum的安装方式进行安装

1、安装PostgreSQL

a.rpm安装

 1.检查PostgreSQL是否已经安装

   [root@localhost ~]#rpm -qa|grep postgresql

   如果有检查到已经安装的包,使用rpm –e将其卸载

 2.rpm的下载安装

   在http://yum.postgresql.org/9.3/redhat/rhel-6.2-x86_64/下载

   以下是直接安装,安装的时候需要注意顺序

   [root@localhost ~]#rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-6.2-x86_64/postgresql93-libs-9.3.5-1PGDG.rhel6.x86_64.rpm 

   [root@localhost ~]#rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-6.2-x86_64/postgresql93-9.3.5-1PGDG.rhel6.x86_64.rpm

   [root@localhost ~]#rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-6.2-x86_64/postgresql93-server-9.3.5-1PGDG.rhel6.x86_64.rpm

Centos上PostgreSQL9.3的安装_第1张图片

 3.初始化、启动PostgreSQL数据库

   [root@localhost ~]#/etc/init.d/postgresql-9.3 initdb

   [root@localhost ~]#/etc/init.d/postgresql-9.3 start

wKioL1QSWE2T7juTAAC3pGoOVEU200.jpg

 4.添加为开机启动

   [root@localhost ~]#chkconfig postgresql-9.3 on

   [root@localhost ~]#chkconfig --list postgresql-9.3

wKioL1QSWJOQuibDAAChAmalb-0306.jpg

 5.进入到PostgreSQL数据库

   安装好PostgreSQL数据库之后,会默认创建一个postgres账户,作为管理PostgreSQL的用户

Centos上PostgreSQL9.3的安装_第2张图片

   默认密码是空,可以添加一个密码,执行以下语句

   postgres=# alteruser postgres with password '123456';

   postgres=# select *from pg_shadow ;  查看

Centos上PostgreSQL9.3的安装_第3张图片

   使用\l可以查看当前数据库中有哪些

   创建数据库test

   postgres=# createdatabase test;

Centos上PostgreSQL9.3的安装_第4张图片

   进入到test数据库

   postgres=# \c test

wKioL1QSW4bABedCAAB3OEgj_D4155.jpg

   在test中创建一张表,表名testdb,并且插入一行数据

   test=# create tabletestdb (name text,no integer);

   test=# insert intotestdb values ('sugar',9);

Centos上PostgreSQL9.3的安装_第5张图片

   使用\q命令可以退出数据库.

 6.对PostgreSQL进行配置使得可以远程访问

   配置文在/var/lib/pgsql/9.3/data目录下,修改pg_hba.conf和postgresql.conf(修改前记得备份,虽然操作比较小,养成好习惯)

   cp /var/lib/pgsql/9.3/data/postgresql.conf postgresql.conf.bak

   vi /var/lib/pgsql/9.3/data/postgresql.conf

   将#listen_addresses= 'localhost'前 的注释改为listen_addresses= '*'

Centos上PostgreSQL9.3的安装_第6张图片

   修改认证配置文件pg_hba.conf,把要连接至PostgreSQL服务器上的IP货IP地址段写入到该文件,保存退出。

   cp /var/lib/pgsql/9.3/data/pg_hba.conf pg_hba.conf.bak

   vi /var/lib/pgsql/9.3/data/pg_hba.conf

Centos上PostgreSQL9.3的安装_第7张图片

   重启数据库使其生效,然后连接进行测试

   [root@localhost ~]#/etc/init.d/postgresql-9.3 restart

   [root@localhostdata]# psql -h 192.168.233.136 -U postgres

Centos上PostgreSQL9.3的安装_第8张图片

 7.需要注意的是:在防火墙中开放5432端口,关闭selinux。


b.源码包安装

  http://ftp.postgresql.org/pub/source/v9.3.5/

 1.下载源码包、解压、编译并安装。                                                          

   [root@localhostsrc]# wget http://ftp.postgresql.org/pub/source/v9.3.5/postgresql-9.3.5.tar.gz

  [root@localhostsrc]# tar zxvf postgresql-9.3.5.tar.gz

   [root@localhostsrc]# cd postgresql-9.3.5

   按照解压目录下INSTALL文件进行安装

Centos上PostgreSQL9.3的安装_第9张图片

   [[email protected]]# ./configure

   Configure时碰到以下的问题,

   configure:error: readline library not found

Centos上PostgreSQL9.3的安装_第10张图片

   根据提示,说是readline的问题,使用yum install readline安装后再次Configure还是出现问题,虽然后面有提示使用--without-readline可以安装,但是为了以后使用方便,还是解决下。看提示,说是readline的库文件没有找到,猜测可能是readline-devel没有安装,于是再次yum install readline-devel进行安装。

   安装完成之后,再次Configure,问题没有出现。

   [[email protected]]# gmake

Centos上PostgreSQL9.3的安装_第11张图片

   gmake完成,可以进行安装

   [[email protected]]# gmake install

Centos上PostgreSQL9.3的安装_第12张图片

  PostgreSQL编译安装完成,可以进行配置。

 2.设置环境变量

   [root@localhost ~]#vi .bash_profile

   [root@localhost ~]#source .bash_profile

Centos上PostgreSQL9.3的安装_第13张图片

   在PATH=$PATH:$HOME/bin后面加上:/usr/local/pgsql/bin

 3.添加用户postgres

   [root@localhost ~]#useradd postgres

   在这里可以选择更改下用户的目录,也就是将挡墙的/home/postgres更改为PostgreSQL安装的目录:/usr/local/pgsql

 3.1 [root@localhost ~]# vi/etc/passwd

       将postgres:x:506:507::/home/postgres:/bin/bash

      改为postgres:x:506:507::/usr/local/pgsql:/bin/bash

      把.bash_profile移动到/usr/local/pgsql下,修改其权限

      [root@localhost~]# cp .bash_profile /usr/local/pgsql/

      [root@localhostpgsql]# chown postgres.postgres .bash_profile

      [root@localhost~]# rm -rf /home/postgres/

 4.初始化数据库

   首先创建data目录

   [root@localhost ~]#mkdir /usr/local/pgsql/data

   [root@localhost ~]#chown postgres /usr/local/pgsql/data

   [root@localhost ~]#su – postgres

   初始化数据库

   -bash-4.1$/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/

Centos上PostgreSQL9.3的安装_第14张图片

 5.配置相关操作

   进入到/usr/local/src/postgresql-9.3.5

   cd /usr/local/src/postgresql-9.3.5

   复制contrib/start-scripts下的linux文件到etc/init.d/下并命名为postgres,

   [[email protected]]# cp contrib/start-scripts/linux /etc/init.d/postgresql   

   现在就可以使用service打开数据库了

   [root@localhost~]# service postgresql start

   将postgresql服务添加到开机启动

Centos上PostgreSQL9.3的安装_第15张图片

 6.创建数据库的操作记录文件

   [root@localhost~]# touch /usr/local/pgsql/.pgsql_history

   [root@localhost~]# chown postgres.postgres /usr/local/pgsql/.pgsql_history

   [root@localhost~]# ls -l /usr/local/pgsql/.pgsql_history

wKiom1QSkD6iylO7AADOqiyG1LM537.jpg

 7.创建测试数据库

   [root@localhost~]# su – postgres

   -bash-4.1$/usr/local/pgsql/bin/createdb test

   -bash-4.1$/usr/local/pgsql/bin/psql test

Centos上PostgreSQL9.3的安装_第16张图片

   编译安装PostgreSQL到这里就完成了


c.yum安装

  直接使用yum安装时,版本比较低,还是8.4版本的

  [root@nothing~]# yum install postgresql

Centos上PostgreSQL9.3的安装_第17张图片

   可以通过安装pgdg-centos93-9.3-1.noarch.rpm来安装最新的PostgreSQL数据库,依旧在以下的网站下载

   http://yum.postgresql.org/9.3/redhat/rhel-6.2-x86_64/

   [root@nothing~]# wget http://yum.postgresql.org/9.3/redhat/rhel-6.2-x86_64/pgdg-centos93-9.3-1.noarch.rpm

   [root@nothing~]# rpm -ivh pgdg-centos93-9.3-1.noarch.rpm

   接下来继续使用yum安装

   [root@nothing~]# yum install postgresql93 postgresql93-server postgresql93-contrib

Centos上PostgreSQL9.3的安装_第18张图片

   初始化,启动数据库

   [root@nothing~]# /etc/init.d/postgresql-9.3 initdb

   [root@nothing~]# /etc/init.d/postgresql-9.3 start

wKioL1QSkeuBPwN3AADBYdJd2qI488.jpg

   连接数据库

   [root@nothing~]# su – postgres

   -bash-4.1$psql

Centos上PostgreSQL9.3的安装_第19张图片

  yum安装PostgreSQL到这里就完成了。

参考链接:http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.html