1、安装编译需要的软件和库文件

sudo yum install gcc gcc-c++ automake readline-devel zlib-devel

2、添加postgres用户和postgres组

sudo useradd postgres # 自动建立 postgres 组

或者

sudo useradd -g postgres postgres

设置密码

sudo passwd postgres

3、从官方下载源代码 下载地址:http://www.postgresql.org/ftp/source/ 4、解压缩,开始编译安装

tar jvxf postgresql-9.0.1.tar.bz2
cd postgresql-9.0.1
./configure –prefix=/opt/pgsql
make
sudo make install

5、建立pg数据目录和设置权限

mkdir -p /Work/Data/pgsql
sudo chown postgres:postgres /Work/Data/pgsql

6、初始化数据库

su – postgres
/opt/pgsql/bin/initdb -D /Work/Data/pgsql

7、启动服务

/opt/pgsql/bin/postgres -D /Work/Data/pgsql

或者

/opt/pgsql/bin/pg_ctl -D /Work/Data/pgsql -l logfile start

或者

su – postgres -c “/opt/pgsql/bin/postmaster -D ‘/Work/Data/pgsql’ & >> logfile 2>&1″

8、为了方便使用,安装PostgreSQL客户端 要支持PostgreSQL 9,需要最新的pgadmin3 a) 安装支持库

sudo yum install wxGTK-devel libxml2-devel libxslt-devel openssl-devel

b) 下载最新的pgadmin

wget http://wwwmaster.postgresql.org/redir/412/h/pgadmin3/release/v1.12.1/src/pgadmin3-1.12.1.tar.gz

c) 开始编译、安装

tar vxf pgadmin3-1.12.1.tar.gz
cd pgadmin3-1.12.1
./configure –with-pgsql=/opt/pgsql
make
sudo make install

如果执行pgadmin3时出现: ./pgadmin3: error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory 可以执行动态链接库管理命令:

sudo ldconfig /opt/pgsql/lib/

9、添加系统服务

cd postgresql-9.0.1 # 原编译时的文件夹
sudo cp contrib/start-scripts/linux /etc/rc.d/init.d/postgres

修改/etc/rc.d/init.d/postgres文件中的:

prefix为/opt/pgsql
PGDATA为/Work/Data/pgsql
sudo chmod 755 /etc/rc.d/init.d/postgres
/etc/rc.d/init.d/postgres start
chkconfig –add postgres

然后可以用service postgres start、stop控制 10、开始测试 a) 建立数据库

/opt/pgsql/bin/createdb test

b) 进入交互 psql 工具

/opt/pgsql/bin/psql test
psql (9.0.1)
Type “help” for help.
test=# select count(*) from pg_class;
count
——-
253
(1 row)
test=# q

10、为了方便使用,添加环境项

export PATH=”$PATH”:/opt/pgsql/bin
export POSTGRES_HOME=/opt/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH=”$MANPATH”:$POSTGRES_HOME/man
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH”:”$PGLIB

Comments