一 下载
访问PostgreSQL: Downloads,点击左侧的‘source'进行下载,一般选择bz2的安装包。
二 安装
2.1 安装依赖包
#安装
yum install -y zlib-devel readline-devel perl-ExtUtils-Embed python python-devel gcc bison flex
#检查哪些软件包没装上
rpm -q zlib-devel readline-devel perl-ExtUtils-Embed python python-devel gcc bison flex | grep 'not installed'
2.2 安装PostgreSQL
tar -xvf postgresql-9.5.6.tar.bz2
cd postgresql-9.5.6
./configure --prefix=/usr/local/pgsql9.5.6 --enable-thread-safety --with-perl --with-python
make
make install
ln -s /usr/local/pgsql9.5.6 /usr/local/pgsql
#安装contrib下的工具
cd contrib
make
make install
2.3 修改环境变量
vi /etc/profile
在最后添加:
export PATH=$PATH:/usr/local/pgsql/bin
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
PGDATA=/data/server/pgdata
#让设置生效
source /etc/profile
#删除pg_dump文件
rm /usr/bin/pg_dump
若不删除该文件的话,用pg_dump做备份的时候会报错:
pg_dump:aborting because of server version mismatch
所以,删除该文件,是为了让系统用postgre自带的pg_dump(路径:/usr/local/pgsql/bin/pg_dump)
2.4 初始化数据库
mkdir -p /data/server
cd /data/server
mkdir pgdata
#新建普通用户,初始化数据库
useradd postgres
passwd postgres
cd /data/server
chown -R postgres:postgres pgdata
su - postgres
export PGDATA=/data/server/pgdata
initdb
2.5 修改参数文件
cd /data/server/pgdata
vi postgresql.conf
port = 5432
max_connections = 5000
listen_addresses= 本机IP
……
--注意:listen_addresses默认值是localhost,如果不设置为本机IP的话,该服务器之外的其他服务器将无法访问该数据库,端口都telnet不通。
2.6 启动数据库
pg_ctl -D /data/server/pgdata start
2.7 登录数据库测试
[postgres@pc2 ~]$ psql
psql (9.5.6)
Type "help" for help.
postgres-# \l
List ofdatabases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 |en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |=c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |=c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)
--本篇文章参考自《PostgreSQL 修炼之道:从小工到专家》