postgresql源码安装详解+配置+远程

时间:2022-01-21 06:27:08

【说明】

最近需要安装postgresql,直接网络安装倒是简单,但是安装目录不灵活,所以自己源码包安装了一下。发现自己对linux下的软件安装还是不理解,所以借postgresql的安装研究了一下源码包安装软件的方法,做一下记录。

【环境】

我使用的是lubuntu12.04,pos源码包是postgresql-9.3.2.tar.gz,地址:www.postgresql.org/ftp/source/v9.3.2/

 

 

一.下载源码包(地址如上),放入linux环境中,我放在/opt/下(root用户权限),解压

tar xvzf *******.tar.gz

二.解压后生成postgresql-9.3.2,进入此目录执行

./configure    --prefix=/opt/postgres   这个命令用于检查系统是否有编译时所需的库以及版本是否满足,为下一步的编译做准备,这里同时也为安装指定目录,默认在/usr/local下,一般自己指定目录较好.

这里可能缺少包:apt-get install libreadline6-dev     apt-get install zlib1g-dev (1是数字)

三.检查和准备通过后,开始执行

make  这是编译命令,然后执行安装命令make install,这里就已经安装完毕,下面进行配 置

四.配置postgresql

1.创建postgres用户useradd -m -s /bin/bash -g root postgres(ubuntu创建用户比较麻烦,不这样的话会有问题,删除用户也比较麻烦),修改密码:passwd postgres 

2.设置postgres用户的环境变量

su - postgres   

cd ~进入postgres主目录

vi ~/.profile(这个文件名一般是这个,根据自己的版本决定)加入以下:

export PGHOME=/opt/postgres

export PGDATA=/home/postgres/data

export PATH=$PATH:$HOME/bin:$PGHOME/bin

保存退出后,source ~/.profile生效

3.初始化postgresql postgres主目录下执行 

initdb  (这里是上面配置data所在目录)

五.启动postgresql实例(与启动服务不同)

pg_ctl start  /stop

 

 

六.查看进程:

Ps -e | grep postgresql

 

七.启动post服务

将源码目录下的/contrib/start-scripts/linux复制到/etc/init.d下更名为postgresql,加上读执行权限。修改此文件的变量如下两个:

# Installation prefix

prefix=/opt/postgres

 

# Data directory

PGDATA="/home/postgres/data"

 

 

 

执行启动命令即可:service postgresql start

八.开机启动

hkconfig --add posrtgresql






允许客户端远程访问

首先一下要修改的文件位置不固定,可根据文件名在根目录下搜索,应该是数据库初始化生成的,这里是在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