1. how to install postgresql from source:
  2. 宁卫通信
  3. 资料中心
  4. PostgreSQL
  5. how to install postgresql from source

how to install postgresql from source

         how to install postgresql from source
CentOS 6.3 Minimal 源码安装 PostgreSQL 9.2.3
环境:CentOS 6.3 最小化缺省安装,配置好网卡。

安装PostgreSQL前,确认Internet连接正常,以便下载安装文件。

先使用 yum -y update 指令升级系统到最新版本。

本安装将PostgreSQL的数据文件与执行文件分离,如果你打算设置到不同的路径,注意修改对应的执行命

令和数据库初始化脚本。

# 修改防火墙设置,打开5432端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
# 重启防火墙使新设置生效
service iptables restart

# 新增用户组
groupadd postgres

# 新增用户
useradd postgres -g postgres

# 新建数据库执行文件目录
mkdir -p /usr/local/pgsql
# 新建数据库数据文件目录
mkdir -p /db/pgsql/data

# 修改目录拥有者
chown -R postgres /usr/local/pgsql/.
chown -R postgres /db/pgsql/data
chown -R postgres /db/pgsql/data/.

# 编辑PATH搜索路径
vi /etc/profile
Append these 2 lines to the end of the file:
PATH=/usr/local/pgsql/bin:$PATH
export PATH

# 生效PATH搜索路径
source /etc/profile

# 安装编译源码所需的工具和库
yum -y install wget gcc readline-devel zlib-devel make

debian 
apt-get install zlibc libghc-zlib-dev libzlcore-dev gcc make git automake libreadline-dev 

# 进入源码压缩包下载目录
cd /usr/src

# 下载源码压缩包
wget http://ftp.postgresql.org/pub/source/v9.3.5/postgresql-9.3.5.tar.gz

# 解压缩源码包
tar zxvf ./postgresql-9.3.5.tar.gz

# 进入解压缩源码目录
cd ./postgresql-9.3.5

# 执行源码编译配置脚本
./configure

# 编译源码
make

# 安装
make install

# 变更登录用户
su - postgres

# 执行数据库初始化脚本
/usr/local/pgsql/bin/initdb --encoding=utf8 -D /db/pgsql/data

# 退出变更登录
exit

# 复制PostgreSQL执行脚本
cp /usr/src/postgresql-9.3.5/contrib/start-scripts/linux /etc/init.d/postgresql

# 增加执行权限
chmod +x /etc/init.d/postgresql

# 编辑PostgreSQL执行脚本,指定数据库文件目录
vi /etc/init.d/postgresql
PGDATA="/db/pgsql/data"

# 编辑配置文件,配置可访问数据库的网络地址
(注意别忘了去掉#listen_addresses=前面的#)

vi /db/pgsql/data/postgresql.conf
listen_addresses = '*'

# 启动PostgreSQL服务
service postgresql start

# 以postgres用户登录数据库,修改postgres用户的数据库密码
psql -U postgres
postgres=# ALTER USER postgres PASSWORD '123456';
postgres=# \q

# 编辑配置文件,设置密码md5验证
vi /db/pgsql/data/pg_hba.conf
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
#host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5

# 重启数据库服务
service postgresql restart

#debian下需要安装 chkconfig工具

# 设置开机自动启动服务
chkconfig postgresql on


#配置LD_LIBRARY_PATH
vi /etc/profile

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib
export LD_LIBRARY_PATH

source /etc/profile