linux 源码安装postgresql10

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

linux 源码安装postgresql10_第1张图片

 

#解压源码包

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

 

你可能感兴趣的:(LINUX)