文章目录

本文实验环境是Centos 6.5(final) 64-bit。

先去Postgres官网下载源码包,本文采用的是9.3.4版本的源码,在这里

解压源码,这里使用的是root账户,如下图。

extract-postgres

进入源代码目录,编译源代码,与大部分linux软件没有什么差异,先configure,再make。configure之后提示

1
2
3
4
configure: error: readline library not found
If you have readline already installed, see config.log for details on the
failure. It is possible the compiler isn't looking in the proper directory.
Use --without-readline to disable readline support.

于是用configure --without-readline来configure,还是报错

1
2
3
4
configure: error: zlib library not found
If you have zlib already installed, see config.log for details on the
failure. It is possible the compiler isn't looking in the proper directory.
Use --without-zlib to disable zlib support.

看来还要继续加参数--without-zlib,原因是从Centos 4.6开始,已经不支持这2个lib了,所以加参数不使用这两个lib。最后configure成功,如下图。

configure

configure-ok

然后用gmake编译代码,其实我用make编译,也是可以的,因为这2个是同一个程序,都是make,只是做了一下软连接,证据如下图。

make-version

make完成之后,提示编译通过All of PostgreSQL successfully made. Ready to install.,如下图。

make-ok

接下来可以安装了,用make install,提示编译完成PostgreSQL installation complete.,如下图。

make-install

安装完成之后,要建立管理用户和数据文件目录,如下图。

add-user

切换到postgres用户,用initdb初始化数据库,如下图。

initdb

接下来,启动PostgreSQL,由于只有data目录的属主是postgres用户,所以启动PostgreSQL的时候,要把log指定到data目录下。如下图

up-postgres

用ps已经可以看到postgres的进程了。接下来新建一个测试数据库并连接,测试。

createdb

至此,安装PostgreSQL完成。总结一下,所有步骤里面用过的命令。

1
2
3
4
5
6
7
8
9
10
11
12
./configure --without-readline --without-zlib
make
make install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
cd /usr/local/pgsql/
./bin/initdb -D data/
./bin/postgres -D data/ > ./data/logfile 2>&1 &
./bin/createdb test
./bin/psql test

文章目录

欢迎来到Valleylord的博客!

本博的文章尽量原创。