【说明】
最近需要安装postgresql,直接网络安装倒是简单,但是安装目录不灵活,所以自己源码包安装了一下。发现自己对linux下的软件安装还是不理解,所以借postgresql的安装研究了一下源码包安装软件的方法,做一下记录。
【环境】
我使用的是lubuntu12.04,pos源码包是postgresql-9.3.2.tar.gz,地址:www.postgresql.org/ftp/source/v9.3.2/
一.下载源码包(地址如上),放入linux环境中,我放在/opt/下(root用户权限),解压
tarxvzf*******.tar.gz
二.解压后生成postgresql-9.3.2,进入此目录执行
./configure--prefix=/opt/postgres这个命令用于检查系统是否有编译时所需的库以及版本是否满足,为下一步的编译做准备,这里同时也为安装指定目录,默认在/usr/local下,一般自己指定目录较好.
这里可能缺少包:apt-getinstalllibreadline6-devapt-getinstallzlib1g-dev(1是数字)
三.检查和准备通过后,开始执行
make这是编译命令,然后执行安装命令makeinstall,这里就已经安装完毕,下面进行配置
四.配置postgresql。
1.创建postgres用户useradd-m-s/bin/bash-grootpostgres(ubuntu创建用户比较麻烦,不这样的话会有问题,删除用户也比较麻烦),修改密码:passwdpostgres
2.设置postgres用户的环境变量
su-postgres
cd~进入postgres主目录
vi~/.profile(这个文件名一般是这个,根据自己的版本决定)加入以下:
exportPGHOME=/opt/postgres
exportPGDATA=/home/postgres/data
exportPATH=$PATH:$HOME/bin:$PGHOME/bin
保存退出后,source~/.profile生效
3.初始化postgresql在postgres主目录下执行
initdb(这里是上面配置data所在目录)
五.启动postgresql实例(与启动服务不同)
pg_ctlstart/stop
六.查看进程:
Ps-e|greppostgresql
七.启动post服务
将源码目录下的/contrib/start-scripts/linux复制到/etc/init.d下更名为postgresql,加上读执行权限。修改此文件的变量如下两个:
#Installationprefix
prefix=/opt/postgres
#Datadirectory
PGDATA="/home/postgres/data"
执行启动命令即可:servicepostgresqlstart
八.开机启动
hkconfig--addposrtgresql
允许客户端远程访问
首先一下要修改的文件位置不固定,可根据文件名在根目录下搜索,应该是数据库初始化生成的,这里是在postgres主目录下的data中
1.监听任何地址访问,修改连接权限
#listen_addresses = ‘localhost’改为 listen_addresses = ‘*’
2.启用密码验证
#password_encryption = on改为password_encryption = on
3.可访问的用户ip段
root@server2-virtual-machine:~# vi /etc/postgresql/9.1/main/pg_hba.conf,并在文档末 尾加上以下内容
# to allow your client visiting postgresql server
host all all 0.0.0.0 0.0.0.0 md5
4.重启Postgresql数据库
root@server2-virtual-machine:~# /etc/init.d/postgresql restart