Osmanthus

空想具現化


  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •   

© 2024 Homurax

UV: | PV:

Theme Typography by Makito

Proudly published with Hexo

PostgreSQL & PostGIS 源码编译方式安装

发布于 2019-10-14 PostgreSQL  PostGIS 

PostgreSQL 下载网址
https://www.postgresql.org/download/
https://www.postgresql.org/ftp/source/

PostGIS 下载网址
https://postgis.net/install/

兼容信息
https://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS

PostgreSQL

安装

创建 postgres 用户:

adduser postgres

passwd postgres

文件:

  • postgresql-10.23-1-linux-x64-binaries.tar.gz
mkdir -p /usr/pgsql

cd /usr/pgsql

# 上传至上述目录

tar -zxf postgresql-10.23-1-linux-x64-binaries.tar.gz

mv /usr/pgsql/pgsql /var/lib/

mkdir -p /var/lib/pgsql/{data,log}

数据库文件目录为 /var/lib/pgsql/data,注意检查磁盘挂载空间是否够用。

赋权:

chown -R postgres.postgres /var/lib/pgsql

chmod -R 755 /var/lib/pgsql

环境变量:

vi /etc/profile

添加以下内容:

export PGHOME=/var/lib/pgsql

export PGDATA=$PGHOME/data

export PATH=$PATH:$PGHOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGHOME/lib

重新加载系统环境变量:

source /etc/profile

配置

初始化数据库:

su postgres

cd /var/lib/pgsql/bin

./initdb -E utf8 -D $PGDATA

修改配置:

vi /var/lib/pgsql/data/pg_hba.conf

找到如下内容:

host    all             all             127.0.0.1/32            trust

将其修改为:

host    all             all             0.0.0.0/0            trust

修改配置:

vi /var/lib/pgsql/data/postgresql.conf

打开或者修改配置:

listen_addresses = '*'
max_connections = 1000

log_destination = 'stderr'
logging_collector = on
log_directory = 'log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

log_rotation_age = 1d
log_rotation_size = 10MB
log_min_duration_statement = 3000

配置开机自启(注意恢复 root 身份):

vi /etc/rc.local

添加内容:

su postgres -c 'pg_ctl start'

pg_ctl 相关命令:

pg_ctl start

pg_ctl stop

pg_ctl restart

pg_ctl status

PostGIS

拷贝以下目录及文件至 /usr/pgsql。
文件:

  • depend
  • geos-3.7.3.tar.bz2
  • proj-6.1.1.tar.gz
  • gdal-2.4.2.tar.gz
  • postgis-2.5.3.tar.gz

注意按照顺序安装。

depend:
depend 目录下有 4 个目录,按照目录编号,以此进入 4 个目录执行安装:

rpm -ivh --replacefiles *.rpm --force --nodeps

geos:

cd /usr/pgsql

tar -jxf geos-3.7.3.tar.bz2

cd geos-3.7.3

./configure --prefix=/var/lib/geos-3.7.3

make

make install

proj:

cd /usr/pgsql

tar -zxf proj-6.1.1.tar.gz

cd proj-6.1.1

./configure --prefix=/var/lib/proj-6.1.1

make

make install 

gdal:

cd /usr/pgsql

tar -zxf gdal-2.4.2.tar.gz

cd gdal-2.4.2

./configure --prefix=/var/lib/gdal-2.4.2 --with-pg=/var/lib/pgsql/bin/pg_config --with-proj=/var/lib/proj-6.1.1

make

make install

postgis:
更新动态链接库:

vi /etc/ld.so.conf

追加如下内容:

/var/lib/pgsql/lib

/var/lib/proj-6.1.1/lib

/var/lib/gdal-2.4.2/lib

/var/lib/geos-3.7.3/lib

刷新动态链接库:

ldconfig

安装:

cd /usr/pgsql

tar -zxf postgis-2.5.3.tar.gz

cd postgis-2.5.3

./configure --with-gdalconfig=/var/lib/gdal-2.4.2/bin/gdal-config --with-pgconfig=/var/lib/pgsql/bin/pg_config --with-geosconfig=/var/lib/geos-3.7.3/bin/geos-config --with-projdir=/var/lib/proj-6.1.1

make

make install

启动服务

注意以 postgres 用户使用 pg_ctl 命令。

启动 postgres,进入 CLI:

su postgres

pg_ctl start

# 执行后进入 postgres CLI
psql -U postgres

# 设置密码
\password

# 退出
\q

在 postgres CLI 中创建 postgis 扩展:

psql -U postgres

\c postgres

create extension postgis;

\q

完整对话内容如下展示:

[postgres@localhost ~]$ psql -U postgres
psql.bin (10.23)
Type "help" for help.

postgres=# \c postgres
You are now connected to database "postgres" as user "postgres".
postgres=# create extension postgis;
CREATE EXTENSION
postgres=# \q

 上一篇: pgloader 安装 & 使用 下一篇: V2Ray配置记录 

© 2024 Homurax

UV: | PV:

Theme Typography by Makito

Proudly published with Hexo