Directorio de artículos
-
- Declaración Ambiental
- Precauciones
- Instalación de postgresql 12.2
-
- 1. Instalar bibliotecas básicas
- 2. Cree un usuario del sistema
- 3. Descargue el paquete de instalación.
- 4. Descomprimir, compilar e instalar
- 5. Configuración de variables de entorno
- 6.Inicializa el directorio de datos.
- 7. Configurar el inicio de sesión remoto
- 8. Configurar los servicios del sistema.
- 9.Establecer contraseña de usuario de la base de datos
- 10.Prueba de conexión remota
- Instalación de PostGIS 3.0.1
-
- 1.Compilación e instalación de GEOS
- 2.Compilación e instalación de PROJ.
- 3. Compilación e instalación de Protubuf-c
- 4.Compilación e instalación de Json-c
- 5.Compilación e instalación de SFCGAL
- 6.Compilación e instalación de GDAL
- 7.Compilación e instalación de Pcre.
- 8.Compilación e instalación de PostGIS
Declaración Ambiental
Este entorno se utiliza para adaptarse a ArcGIS 10.8.1 y ArcGIS Pro 2.6.
nombre | Versión | Dependencias relacionadas |
---|---|---|
Sistema operativo | centos7.6 | |
postgresql | 12.2 | zlib-devel readline-devel |
postgis | 3.0.1 | gccg++ |
GEOS | 3.8.0 | |
sqlite3 | 3.32.2 | |
PROYECTO | 6.3.1 | |
protubuf | 3.15.3 | |
protubuf-c | 1.3.3 | |
json-c | 0.13.1 | |
Chacer | 3.16.8 | openssl openssl-desarrollo |
CGAL | 4.14.3 | gmp-devel boost-devel mpfr-devel zlib-devel libxml2-devel |
SFCGAL | 1.3.7 | |
GDAL | 3.0.4 | |
pcre | 8.45 |
PostgreSQL : PostGIS se basa en PostgreSQL, por lo que se debe instalar PostgreSQL.
Compilador GNU C (gcc): gcc es el compilador de lenguaje C más estándar en Linux. Debe instalar gcc para compilar el código fuente de PostGIS y otro software o bibliotecas de funciones.
GNU Make (gmake o make) : también se utiliza para compilar el código fuente.
Proj4 : la biblioteca de reproyección Proj4 se utiliza para proporcionar la funcionalidad de reproyección de coordenadas en PostGIS.
GEOS : biblioteca de geometría GEOS, que se utiliza para admitir el procesamiento, análisis y otras funciones de información geométrica en PostGIS. GEOS también se puede considerar directamente como una biblioteca de algoritmos geométricos.
LibXML2 : LibXML2 se utiliza actualmente para algunas funciones importadas en PostGIS, como ST_GeomFromGML() y ST_GeomFromKML().
JSON-C : actualmente, JSON-C se utiliza para importar datos en formato GeoJSON a través de la función ST_GeomFromGeoJSON()
GDAL : se utiliza para la compatibilidad con PostGIS para datos ráster.
SFCGAL : se utiliza para la compatibilidad con PostGIS para datos tridimensionales.
PostGIS : extensiones para datos espaciales, índices espaciales y funciones espaciales para PostgreSQL.
Precauciones
1. Excepto por algunos componentes importantes, utilice YUM para instalar aquellos que se pueden instalar con YUM.
2. Es mejor no especificar la ruta de instalación durante la compilación e instalación local. Utilice la ruta predeterminada /usr/local para evitar que se encuentren bibliotecas compartidas y archivos ejecutables una vez completada la instalación.
3. Una vez modificadas las variables de entorno y las bibliotecas compartidas, deben actualizarse y recargarse a tiempo.
4. Si se encuentra con una situación en la que las variables y las bibliotecas compartidas se han configurado y las bibliotecas compartidas aún no se pueden leer durante la compilación e instalación, puede intentar cerrar la sesión ssh y volver a conectarse al servidor.
5. Al instalar, instale estrictamente de acuerdo con la versión especificada. Para conocer los parámetros de la versión, consulte las instrucciones oficiales de PostGIS.
Instalación de postgresql 12.2
1. Instalar bibliotecas básicas
yum -y install zlib-devel readline-devel
2. Cree un usuario del sistema
Ejecute el siguiente comando como usuario root
# 创建 postgres 用户
adduser postgres
# 给 postgres 用户设置密码
passwd postgres
3. Descargue el paquete de instalación.
Dirección de descarga: https://ftp.postgresql.org/pub/source/v12.2/postgresql-12.2.tar.gz
4. Descomprimir, compilar e instalar
# 切换为postgres用户
su - postgres
# 进入安装包所在文件夹
cd /home/postgres/software
# 解压安装包
tar -xzvf postgresql-12.2.tar.gz
# 进入解压后的安装包
cd postgresql-12.2
# 进行编译检查,设置安装目录为/home/postgres,构建时开启支持xml数据类型 --with-libxml
./configure --prefix=/home/postgres --with-libxml
# ./configure无误后,执行编译安装
make
make install
5. Configuración de variables de entorno
Si necesita utilizar comandos relacionados con PostgreSQL en cualquier entorno, debe agregar el contenido de $PGHOME/bin a la variable de entorno PATH y editar el archivo /etc/profile.
Si solo lo está utilizando con el usuario postgres, debe editar el archivo /home/postgres/.bash_profile.
vi /etc/profile
# 在最后追加以下内容
export PGHOME=/home/postgres
export PATH=$PGHOME/bin:$PATH
# 如果需要设置一个单独的目录作为数据库目录,则需要明确指定PGDATA环境变量,且该文件夹的owner必须为postgres用户
export PGDATA=/home/postgres/data
Si necesita que las variables de entorno surtan efecto inmediatamente, ejecute el siguiente comando
source /etc/profile
source /home/postgres/.bash_profile
6.Inicializa el directorio de datos.
Inicialice el directorio de la base de datos (instancia única)
. Después de configurar el directorio bin de PG como una variable de entorno, ejecute directamente el siguiente comando para la base de datos de destino
(deje que el directorio de la base de datos sea /home/postgres/data)
initdb -D /home/postgres/data
Si es necesario ajustar el tamaño del registro WAL (utilizado principalmente para archivar y optimizar la configuración maestro-esclavo, una vez que se inicializa y especifica initdb, no se puede modificar), puede ejecutar el siguiente comando (no es necesario), la unidad de –wal-segsize es MB initdb
- D /data/pgdata --wal-segsize=128
7. Configurar el inicio de sesión remoto
1. Edite el archivo pg_hba.conf
vi /home/postgres/data/pg_hba.conf
Agregar host all all 0.0.0.0/0 md5
al archivo significa que todos los usuarios pueden iniciar sesión en PostgreSQL a través de md5 (contraseña) a través de cualquier IP.
Como se muestra abajo:
host all all 0.0.0.0/0 md5
2. Edite el archivo postgresql.conf
vi /home/postgres/data/postgresql.conf
Modifique listen_addresses a *, como se muestra en la siguiente figura:
8. Configurar los servicios del sistema.
1. Cree el archivo postgresql.service
vi /usr/lib/systemd/system/postgresql.service
escribir
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
Environment=PGPORT=5432
Environment=PGDATA=/home/postgres/data
OOMScoreAdjust=-1000
ExecStart=/home/postgres/bin/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300
ExecStop=/home/postgres/bin/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=/home/postgres/bin/pg_ctl reload -D ${PGDATA} -s
TimeoutSec=300
[Install]
WantedBy=multi-user.target
2.Comandos de control
systemctl daemon-reload # 启用服务控制守护
systemctl start postgresql # 启动
systemctl stop postgresql # 停止
systemctl restart postgresql # 重启
systemctl enable postgresql # 开机自启
systemctl staus postgresql # 查看状态
9.Establecer contraseña de usuario de la base de datos
# 切换到postgres用户
su - postgres
# 直接用postgres超级用户登录,默认不需要密码,psql直接回车就以postgres用户进入了postgres数据库
psql -U postgres
# 修改超级用户密码为:postgres
alter role postgres with pass 'postgres';
# 退出
\q
10.Prueba de conexión remota
Acceso a través de conexión Navicat.
La conexión exitosa es la siguiente
Instalación de PostGIS 3.0.1
Nota: Primero instale gcc y gcc-c++, y otros componentes dependerán de ellos para la compilación e instalación.
yum install -y gcc gcc-c++
Vista de versión
gcc --version
g++ --version
1.Compilación e instalación de GEOS
Dirección de descarga: https://download.osgeo.org/geos/geos-3.8.0.tar.bz2
1. Comando de instalación
tar -jxvf geos-3.8.0.tar.bz2
cd geos-3.8.0
./configure
make
make install
2. Prueba
geos-config --version
2.Compilación e instalación de PROJ.
Nota: proj6.3.2 depende de sqlite3, y la versión de sqlite3 debe ser ≥ 3.11. La versión de sqlite3 instalada por el sistema yum es 3.7, por lo que sqlite3 debe actualizarse.
2.1.Actualizar sqlite3
Dirección de descarga: http://www.sqlite.org/2020/sqlite-autoconf-3320200.tar.gz
1.instalación mmm
yum -y install sqlite sqlite-devel
2. Compile e instale
tar zxvf sqlite-autoconf-3320200.tar.gz
cd sqlite-autoconf-3320200/
./configure --prefix=/usr/local/sqlite
make
make install
3.Configuración del entorno
vi /etc/profile
# 在最后面追加以下内容
export SQLITE3=/usr/local/sqlite
export PATH=$SQLITE3/bin:$PATH
export PKG_CONFIG_PATH=/usr/local/sqlite/lib/pkgconfig
# 刷新
source /etc/profile
4. Versión de reemplazo
cp /usr/local/sqlite/bin/sqlite3 /usr/bin/
5. Prueba
sqlite3 --version
2.2.Instalar proyecto
Dirección de descarga: http://download.osgeo.org/proj/proj-6.3.1.tar.gz
1. Comando de instalación
tar -zxvf proj-6.3.1.tar.gz
cd proj-6.3.1
./configure
make
make install
La instalación exitosa es la siguiente:
2. Prueba
proj
3. Compilación e instalación de Protubuf-c
Nota: protobuf-c depende de protobuf, así que instale protobuf primero.
3.1 Instalar protubuf
Dirección de descarga: https://github.com/protocolbuffers/protobuf/releases/download/v3.15.3/protobuf-all-3.15.3.tar.gz
1. Comando de instalación
tar -zxvf protobuf-all-3.15.3.tar.gz
cd protobuf-3.15.3
./configure
make
make install
La instalación exitosa es la siguiente:
2. Configuración del entorno
vi /etc/profile
# 最后面追加以下内容
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
# 刷新
source /etc/profile
3. Prueba
protoc --version
3.2 Instalar protobuf-c
Dirección de descarga: https://github.com/protobuf-c/protobuf-c/releases/download/v1.3.3/protobuf-c-1.3.3.tar.gz
1. Comando de instalación
tar -zxvf protobuf-c-1.3.3.tar.gz
cd protobuf-c-1.3.3
./configure
make
make install
La instalación exitosa es la siguiente:
2. Prueba
protoc-c --version
4.Compilación e instalación de Json-c
Dirección de descarga: https://codeload.github.com/json-c/json-c/tar.gz/refs/tags/json-c-0.13.1-20180305
Comando de instalación
tar -zxvf json-c-json-c-0.13.1-20180305.tar.gz
cd json-c-json-c-0.13.1-20180305/
./configure
make
make install
La instalación exitosa es la siguiente:
5.Compilación e instalación de SFCGAL
Nota: Dado que la versión correspondiente de PostGIS es relativamente nueva, la versión predeterminada de CMake de CentOS 7 es insuficiente y es necesario compilar e instalar una nueva versión de CMake.
5.1.Instalar CMake
Dirección de descarga: https://github.com/Kitware/CMake/releases/download/v3.16.8/cmake-3.16.8.tar.gz
1. Instale bibliotecas relacionadas con openssl
yum -y install openssl openssl-devel
2. Comando de instalación
tar -zxvf cmake-3.16.8.tar.gz
cd cmake-3.16.8
./bootstrap
gmake
make install
La instalación exitosa es la siguiente:
3. Prueba
cmake --version
5.2.Instalar CGAL
Nota: sfcgal y pgRouting (análisis de red) dependen de boost y cgal. Puede suceder que boost y cgal se instalen y compilen correctamente, pero sfcgal no se puede compilar o pgrouting no se puede usar después de la compilación. La razón es el problema de boost y cgal, solo recuerde una cosa, instale solo en la ruta predeterminada, no especifique la ruta.
Dirección de descarga: https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.14.3/CGAL-4.14.3.tar.xz
1. Instale bibliotecas dependientes relevantes
yum -y install gmp-devel boost-devel mpfr-devel zlib-devel libxml2-devel
2. Comando de instalación
tar -xvf CGAL-4.14.3.tar.xz
cd CGAL-4.14.3
mkdir build && cd build
cmake ..
make
make install
La instalación exitosa es la siguiente:
5.3.Instalar SFCGAL
Dirección de descarga: https://codeload.github.com/Oslandia/SFCGAL/tar.gz/refs/tags/v1.3.7
1. Comando de instalación
tar -zxvf SFCGAL-1.3.7.tar.gz
cd SFCGAL-1.3.7
mkdir build && cd build
cmake ..
make
make install
La instalación exitosa es la siguiente:
Una vez completada la instalación, debe configurar un enlace suave a libSFCGAL.so para evitar que la instalación posterior de gdal no pueda encontrarlo.
ln -s /usr/local/lib64/libSFCGAL.so /usr/local/lib/libSFCGAL.so
ln -s /usr/local/lib64/libSFCGAL.so.1 /usr/local/lib/libSFCGAL.so.1
6.Compilación e instalación de GDAL
Dirección de descarga: https://download.osgeo.org/gdal/3.0.4/gdal-3.0.4.tar.gz
1. Comando de instalación
tar -zxvf gdal-3.0.4.tar.gz
cd gdal-3.0.4
./configure
make
make install
La instalación exitosa es la siguiente:
2. Prueba
gdal-config --version
7.Compilación e instalación de Pcre.
Dirección de descarga: http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz
1. Comando de instalación
tar -zxvf pcre-8.45.tar.gz
cd pcre-8.45
./configure
make
make install
La instalación exitosa es la siguiente:
2. Prueba
pcre-config --version
8.Compilación e instalación de PostGIS
Dirección de descarga: https://download.osgeo.org/postgis/source/postgis-3.0.1.tar.gz
1. Comando de instalación
tar -zxvf postgis-3.0.1.tar.gz
cd postgis-3.0.1
./configure --with-pgconfig=/home/postgres/bin/pg_config
make
make install
La instalación exitosa es la siguiente:
2. Configuración del entorno
vi /etc/ld.so.conf
# 在最后面追加以下内容
/home/postgres/lib
/usr/local/lib
/usr/local/lib64
# 重新加载
ldconfig
3. Prueba
3.1 Cambiar de usuario de postgres
su - postgres
3.2 Iniciar sesión en la base de datos
psql -p 5432 -d postgres -U postgres -W
3.3 Crear una biblioteca de prueba
create datebase test;
3.4 Ingrese a la biblioteca de prueba y cree una extensión
# 进入测试库
\c test;
# 创建postgis扩展
create extension postgis;
# 验证栅格类数据需要的raster扩展
create extension postgis_raster;
# 如果安装带有sfcgal,验证下三维sfcgal扩展
create extension postgis_sfcgal;
3.5 Verificar versiones de postgresql y postgis
select VERSION();
select * from pg_available_extensions WHERE name like 'postgis';