装postgresql非常简单。
直接三部曲搞定。
./configure --prefix=/usr/local/postgresql
make
make install
创建postgresql的数据目录
mkdir -p /data/postgresql/
useradd postgresql
更改postgresql数据目录的权限和owner
chown -R postgresql. /data/postgresql
切换用户
su - postgresql
初始化数据库
/usr/local/pgsql/bin/initdb -D /data/postgresql
启动数据库
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data > logfile 2 >&1 &
创建测试数据库
/usr/local/pgsql/bin/createdb test
使用数据库
/usr/local/pgsql/bin/psql test
其实使用系统的postgresql帐号在数据库里面也建立同意帐号,系统帐号会直接和数据库帐号关联。
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 的要求。
[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
# adduser postgres
* 更改用户目录(可选操作)
# vi /etc/passwd
把postgres:x:528:528::/home/postgres:/bin/bash
改成postgres:x:528:528::/usr/local/pgsql:/bin/bash
# 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
12. 测试使用
# su - postgres
$ createdb test
$ psql test
test=#createtabletest(idint);
源码编译安装成功。