安装环境
- 操作系统:Ubuntu 16.04,操作用户为root
- 安装方式:源码安装
准备
- 下载PostgreSQL源码postgresql-11.5.tar.gz 链接
- 下载GEOS源码geos-3.7.2.tar.gz 链接
- 下载PROJ源码proj-6.1.1.tar.gz 链接
- 下载PostGIS源码postgis-2.5.3.tar.gz 链接
开始安装
安装PostgreSQL 官方文档
# 安装相关依赖
apt install gcc g++ make bison flex libreadline6-dev zlib1g-dev libsystemd-dev -y
# 当前目录是/root
# 解压源码压缩包
tar zxvf postgresql-11.5.tar.gz
# 修改权限
chown -R root:root postgresql-11.5
chmod 755 `find postgresql-11.5 -type d`
# 编译安装 --with-systemd参数用于支持systemd
cd postgresql-11.5
./configure --with-systemd
make
make install
# 创建postgres用户
adduser postgres
# 初始化数据目录
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
# 切换到postgres用户
su - postgres
# 初始化数据
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
# 退出postgres用户
exit
# 注册systemd服务,实现开机自启动,文件内容请看下文
vi /etc/systemd/system/postgresql.service
systemctl enable postgresql
systemctl start postgresql
# /etc/systemd/system/postgresql.service
[Unit]
Description=PostgreSQL database server
Documentation=man:postgres(1)
[Service]
Type=notify
User=postgres
ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=0
[Install]
WantedBy=multi-user.target
设置允许远程访问,设置完成后重启服务即可。systemctl restart postgresql
- 编辑文件/usr/local/pgsql/data/postgresql.conf,修改监听地址为
*
- 编辑文件/usr/local/pgsql/data/postgresql.conf,添加允许访问的网段
安装GEOS 官方文档
# 安装相关依赖
apt install autoconf -y
# 当前目录是/root
# 解压源码压缩包
tar zxvf geos-3.7.2.tar.gz
# 编译安装
cd geos
# 生成configure脚本
./autogen.sh
mkdir obj && cd obj && ../configure
make
make install
安装PROJ 官方文档
# 安装相关依赖
apt install libsqlite3-dev sqlite3 pkg-config -y
# 当前目录是/root
# 解压源码压缩包
tar zxvf proj-6.1.1.tar.gz
# 修改权限
chown -R root:root proj-6.1.1
# 编译安装
cd proj-6.1.1
./configure
make
make install
安装PostGIS 官方文档
# 安装相关依赖
apt install libxml2-dev xsltproc imagemagick dblatex docbook-xsl libgeos-dev libcunit1-dev -y
apt install libgdal-dev libjson-c-dev protobuf-c-compiler libpcre++-dev libsfcgal-dev -y
# 当前目录是/root
# 解压源码压缩包
tar zxvf postgis-2.5.3.tar.gz
# 修改权限
chown -R root:root postgis-2.5.3
# 编译安装
cd postgis-2.5.3
./configure --with-pgconfig=/usr/local/pgsql/bin/pg_config
make
make install
验证安装成果
su - postgres
/usr/local/pgsql/bin/psql -c "CREATE DATABASE test_postgis;"
# 返回结果:CREATE DATABASE
/usr/local/pgsql/bin/psql -d test_postgis -c "CREATE EXTENSION postgis;"
# 返回结果:CREATE EXTENSION