1. 检查编译环境
# gcc g++ 是否安装
rpm -qa | grep gcc-c++
安装readline-devel,需要先安装ncurses-devel
rpm -qa| grep readline
readline-xxx #需要安装readline-devel连接,没有安装编译时会有readline: No such file or directory 错误
镜像地址:http://mirrors.aliyun.com/centos/6/os/x86_64/Packages/ 下载rpm文件
rpm -ivh ncurses-devel.*.rpm 或者 rpm -Uvh ncurses-devel.*.rpm
#提示需要安装lib/base 按顺序安装即可
rpm -ivh readline-devel.*.rpm 或者 rpm -Uvh readline-devel.*.rpm
安装 zlib-devel
rpm -ivh zlib-devel*.rpm 或者 rpm -Uvh zlib-devel*.rpm
2. 下载源码包
官网下载:https://www.postgresql.org/ftp/source/
或者
https://ftp.postgresql.org/pub/source/v9.6.0/postgresql-9.6.0.tar.gz
#解压源码包
tar -zxvf postgresql-9.6.10.tar.gz -C /data
# 编译安装
cd /data/postgresql-10.4
./configure --help #查看帮助指令
./configure --prefix=/usr/local/pgsql
#编译成功有 ./configure.status 文件
make
make install
3 .配置环境
#创建用户
useradd postgres
passwd postgres
#输入密码验证
#设置权限
chown -R postgres:postgres /usr/local/pgsql
mkdir /data/pg mkdir /data/pg/logs #存储数据和日志
chown -R postgres:postgres /data/pg
# 配置环境
vi /etc/profile
export PGDATA=data/pg/data
export PGHOME= /usr/local/pgsql
export PATH=$PGHOME/bin:$PATH
source /etc/profile #生效
su postgres #切换用户
initdb #初始化 配置信息已经在profile中配置完了
#如果不行 cd pgsql/bin 执行./initdb
---初始化成功
# 配置数据库连接信息
cd /data/pg/data
vi pg_hba.conf
ipv4 下注释一行添加
host all all md5
vi postgresql.conf
listen_adresses = '*'
host = 5432
# 设置防火墙
vi /etc/sysconfig/iptables
-A INPUT -p tcp --dport 5432 -j ACCEPT #添加保存
source /etc/sysconfig/iptables
service iptables status #查看状态
# 配置系统服务
#进入解压的源码包找到contrib目录 复制到 /etc/bin
cp contrib/start-scripts/linux /etc/init.d/postgresql
vi /etc/init.d/postgresql
#修改对应的 prefix PGDATA PGLOG 目录
prefix = '/usr/local/pgsql'
PGDATA = '/data/pg/data'
PGLOG = 'data/pg/logs/serverlog'
chmod +x /etc/init.d/postgresql #设置权限
4 启动postgresql服务
service postgresql start
---启动成功
su postgres
psql
\passwrod
#设置新密码
--源码安装成功
# 导入导出命令
导入sql
psql -d [表] -U [数据库] -h [ip] -p [端口] -f [文件]
pg_restore -U postgres -d poi > filename
导出sql
pg_dump -U [数据库] -h [ip] -p [端口] -t [表] > 导出的文件
postgis 扩展 参考:https://www.jianshu.com/p/e08dbc60a3b2