由于之前出差接触了一次GP数据库,感觉还不错,蛮强大的,经了解才知道原来是PG演变而来,正好最近dataguru(http://www.dataguru.cn/)有关PG课程就报了下名学习学习,每次还要写作业,顺便就把安装过程给记录下来:
网址下载地址:http://www.postgresql.org/ftp/source/v9.4.1/目前最新版,然后我在网上查下参考资料以下是postgresql-9.1.7安装过程,安装步骤一样完全OK
0.编译环境
- Linux: CentOS 6.4
- gcc: gcc-4.4.7-3.el6.x86_64
1. 安装PostgreSQL
1) 解压postgresql-9.1.7.tar.bz2
#tar jxvf postgresql-9.1.7.tar.bz2
2) 进入解压后的postgresql-9.1.7目录
#cd postgresql-9.1.7
3) 编译postgresql源码
#./configure --prefix=/opt/pgsql-9.1.7
#make
#make install
至此,完成postgresql的安装。进入/opt/pgsql-9.1.7目录可以看到安装后的postgresql的文件。
#ls /opt/pgsql-9.1.7
2.创建postgresql数据库
1) 创建postgres用户
#useradd postgres
修改postgres密码
#passwd postgres
2) 设置postgres用户的环境变量
切换到postgres用户
#su - postgres
进入postgres的主目录
#cd ~
编辑~/.bash_profile文件
#vi ~/.bash_profile
设置以下的环境变量
export PGHOME=/opt/pgsql-9.1.7
export PGDATA=~/data
保存,退出vi。执行以下命令,使环境变量生效
#source ~/.bash_profile
3) 初始化postgres数据库
#./initdb(注:/opt/pgsql-9.1.7/bin)
至此,完成postgres数据库的初始化。
4) 启动postgres数据库实例
#./pg_ctl start (注:/opt/pgsql-9.1.7/bin)
可以看到postgresql数据库实例已经启动,通过下面的命令可以查看系统中运行的postgres进程
#ps -ef | grep postgres
5) 连接postgresql数据库
#psql -h 127.0.0.1 -d postgres -U postgres
6) 停止postgresql数据库实例
#./pg_ctl stop (注:/opt/pgsql-9.1.7/bin)
#ps -ef | grep postgres
可以看到已经没有postgres进程
3. 设置PostgreSQL开机自启动
PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下
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的数据目录路径:
4) 执行service postgresql start,就可以启动PostgreSQL服务
#service postgresql start
5)设置postgresql服务开机自启动
#chkconfig --add postgresql
执行上面的命令,就可以实现postgresql服务的开机自启动。