0.编译环境

  • Linux: CentOS 5.5
  • gcc: 4.1.2

1. 安装PostgreSQL

1) 解压postgresql-9.1.7.tar.bz2

#tar jxvf postgresql-9.1.7.tar.bz2

安装PostgreSQL数据库(Linux篇)_postgresql数据库 

2) 进入解压后的postgresql-9.1.7目录

#cd postgresql-9.1.7

安装PostgreSQL数据库(Linux篇)_linux_02

3) 编译postgresql源码

#./configure --prefix=/opt/pgsql-9.1.7

安装PostgreSQL数据库(Linux篇)_linux_03

 #make

安装PostgreSQL数据库(Linux篇)_开机自启动_04

#make install

安装PostgreSQL数据库(Linux篇)_linux_05

至此,完成postgresql的安装。进入/opt/pgsql-9.1.7目录可以看到安装后的postgresql的文件。

#ls /opt/pgsql-9.1.7

安装PostgreSQL数据库(Linux篇)_postgresql数据库_06

2.创建postgresql数据库

1) 创建postgres用户

#useradd postgres

修改postgres密码

#passwd postgres

安装PostgreSQL数据库(Linux篇)_postgresql_07

2) 设置postgres用户的环境变量

切换到postgres用户

#su - postgres

安装PostgreSQL数据库(Linux篇)_sql_08

进入postgres的主目录

#cd ~

安装PostgreSQL数据库(Linux篇)_开机自启动_09

编辑~/.bash_profile文件

#vi ~/.bash_profile

设置以下的环境变量

export PGHOME=/opt/pgsql-9.1.7

export PGDATA=~/data

安装PostgreSQL数据库(Linux篇)_开机自启动_10

保存,退出vi。执行以下命令,使环境变量生效

#source ~/.bash_profile

安装PostgreSQL数据库(Linux篇)_开机自启动_11

3) 初始化postgres数据库

#initdb

安装PostgreSQL数据库(Linux篇)_linux_12

至此,完成postgres数据库的初始化。

4) 启动postgres数据库实例

#pg_ctl start

安装PostgreSQL数据库(Linux篇)_sql_13

可以看到postgresql数据库实例已经启动,通过下面的命令可以查看系统中运行的postgres进程

#ps -ef | grep postgres

安装PostgreSQL数据库(Linux篇)_postgresql数据库_14

5) 连接postgresql数据库

#psql -h 127.0.0.1 -d postgres -U postgres

安装PostgreSQL数据库(Linux篇)_postgresql数据库_15

6) 停止postgresql数据库实例

#pg_ctl stop

#ps -ef |  grep postgres

安装PostgreSQL数据库(Linux篇)_postgresql数据库_16

可以看到已经没有postgres进程

3. 设置PostgreSQL开机自启动

PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下

安装PostgreSQL数据库(Linux篇)_sql_17

linux文件即为linux系统上的启动脚本

1)修改linux文件属性,添加X属性

#chmod a+x linux

2) 复制linux文件到/etc/init.d目录下,更名为postgresql

#cp linux /etc/init.d/postgresql

3)修改/etc/init.d/postgresql文件的两个变量

prefix设置为postgresql的安装路径:/opt/pgsql-9.1.2

PGDATA设置为postgresql的数据目录路径:

安装PostgreSQL数据库(Linux篇)_sql_18

4) 执行service postgresql start,就可以启动PostgreSQL服务

#service postgresql start

 安装PostgreSQL数据库(Linux篇)_postgresql_19

5)设置postgresql服务开机自启动

#chkconfig --add postgresql

执行上面的命令,就可以实现postgresql服务的开机自启动。