2. 添加postgres用户环境变量
$ cat ~/ .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/ .bashrc
fi
# User specific environment and startup programs
export PGHOME =/usr/local/ pgsql
export PGDATA =/usr/local/pgsql/ data
export PATH =$PGHOME/bin:$PATH:$HOME/ bin
export LD_LIBRARY_PATH =$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/ lib:$LD_LIBRARY_PATH
export DATE =` date + " %Y%m%d%H%M " `
export HISTTIMEFORMAT = " %Y-%m-%d %H:%M:%S> "
3. 调整系统参数
# tail -n 12 /etc/ sysctl.conf vm.overcommit_memory = 1 vm.overcommit_ratio = 90 fs.aio -max-nr= 1048576 fs. file -max= 7672460 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 kernel.sem = 50100 64128000 50100 1280 kernel.shmall = 5242880 kernel.shmmax = 12884901888 # tail -n 4 /etc/security/ limits.conf postgres soft nproc 8192 postgres hard nproc 16384 postgres soft nofile 4096 postgres hard nofile 65536
4. 安装依赖包
# yum install -y python-devel perl-ExtUtils-Embed python-devel gcc-c++ openssl-devel readline readline-devel bzip2 zlib zlib-devel openssl openssl-devel pam pam-devel libxml2 libxml2-devel libxslt libxslt-devel openldap openldap-devel libgeos-dev libproj-dev libgdal-dev xsltproc docbook-xsl docbook-xml imagemagick libmagickcore-dev dblatex tcl tcl-devel unixODBC unixODBC-devel libpng12 libpng12-devel libtiff libtiff-devel curl-devel
三 PostgreSQL数据库安装
$ mkdir /usr/local/ pgsql
$ mkdir /usr/local/pgsql/ {data,arch,plugin}
$ chown -R postgres.dba /usr/local/ pgsql
$ tar -zxf postgresql- 13.1 . tar .gz
$ cd postgresql - 13.1
$ . /configure --prefix=/usr/local/pgsql --with-segsize= 32 --with-tcl --with- perl --with-python --with-gssapi --with-pam --with-openssl --with-libxml --with- libxslt
$ make world
$ make install - world
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
$ cat /usr/local/pgsql/data/postgresql.conf | grep -v " ^$ " | grep -v " ^# "
listen_addresses = ‘ * ‘
port = 5432
max_connections = 600
superuser_reserved_connections = 3
unix_socket_directories = ‘ /tmp ‘
shared_buffers = 16GB
huge_pages = try
temp_buffers = 256MB
work_mem = 256MB
maintenance_work_mem = 256MB
logging_collector = on
log_directory = ‘ log ‘
log_filename = ‘ postgresql-%Y-%m-%d_%H%M%S.log ‘
log_file_mode = 0600
log_rotation_size = 10MB
$ cat /usr/local/pgsql/data/pg_hba.conf | grep -v " ^$ " | grep -v " ^# "
local all all trust
host all all 127.0 . 0.1 / 32 trust
host all all 0.0 . 0.0 / 0 md5
host all all :: 1 / 128 trust
使用systemctl来管理PostgreSQL服务
# cat /usr/lib/systemd/system/ pgsql.service
[Unit]
Description = PostgreSQL database server
Documentation =https: // HdhCmsTestpostgresql.org/docs/
After= syslog.target
After = network.target
[Service]
Type = forking
User = postgres
Group = dba
Restart = always
LimitNOFILE = 65536
# Note: avoid inserting whitespace in these Environment= lines, or you may
# break postgresql - setup.
# Location of database directory
Environment =PGDATA=/usr/local/pgsql/data/
# Maximum number of seconds pg_ctl will wait for postgres to start. Note that
# PGSTARTTIMEOUT should be less than TimeoutSec value.
Environment =PGSTARTTIMEOUT= 200
# Where to send early - startup messages from the server (before the logging
# options of postgresql.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput = syslog
# Disable OOM kill on the postmaster
OOMScoreAdjust =- 1000
Environment =PG_OOM_ADJUST_FILE=/proc/self/ oom_score_adj
Environment =PG_OOM_ADJUST_VALUE= 0
ExecStart =/usr/local/pgsql/bin/pg_ctl start -D ${PGDATA} -s - w - t ${PGSTARTTIMEOUT}
ExecStop =/usr/local/pgsql/bin/pg_ctl stop -D ${PGDATA} -s - m fast
ExecReload =/usr/local/pgsql/bin/pg_ctl reload -D ${PGDATA} - s
KillMode = mixed
KillSignal = SIGINT
# Do not set any timeout value, so that systemd will not kill postmaster
# during crash recovery.
TimeoutSec = 0
[Install]
WantedBy =multi-user.target
# systemctl daemon- reload # systemctl start pgsql # systemctl enable pgsql # su - postgres $ psql psql ( 13.1 ) Type " help " for help. postgres =#
四 安装PostGIS扩展
1. 安装SQLITE3
$ tar -zxf sqlite-snapshot- 202101022356 . tar .gz $ cd sqlite -snapshot- 202101022356 $ . /configure --prefix=/usr/local/pgsql/plugin/ sqlite $ make $ make install
2. 安装 proj
$ tar -zxf proj- 7.2 . 0 . tar .gz $ cd proj - 7.2 . 0 $ . /configure --prefix=/usr/local/pgsql/plugin/proj SQLITE3_CFLAGS=-I/usr/local/pgsql/plugin/sqlite/include SQLITE3_LIBS= " -L/usr/local/pgsql/plugin/sqlite/lib -lsqlite3 " $ make $ make install $ echo " /usr/local/pgsql/plugin/proj/lib " > /etc/ ld .so.conf.d/ proj.conf $ ldconfig
3. 安装geos
$ tar -jxf geos- 3.9 . 0 . tar .bz2 $ cd geos - 3.9 . 0 $ . /configure --prefix=/usr/local/pgsql/plugin/ geos $ make $ make install $ echo " /usr/local/pgsql/plugin/geos/lib " > /etc/ ld .so.conf.d/ geos.conf $ ldconfig
4. 安装gdal
$ tar -zxf gdal- 3.2 . 0 . tar .gz $ cd gdal - 3.2 . 0 $ . /configure --prefix=/usr/local/pgsql/plugin/gdal --with-proj=/usr/local/pgsql/plugin/ proj $ make $ make install $ echo " /usr/local/pgsql/plugin/gdal/lib " > /etc/ ld .so.conf.d/ gdal.conf $ ldconfig
5. 安装PostGIS
$ tar -zxf postgis- 3.1 . 0 . tar .gz $ cd postgis - 3.1 . 0 $ . /configure --prefix=/usr/local/pgsql/plugin/postgis --with-pgconfig=/usr/local/pgsql/bin/pg_config --with-geosconfig=/usr/local/pgsql/plugin/geos/bin/geos-config --with-gdalconfig=/usr/local/pgsql/plugin/gdal/bin/gdal-config --with-projdir=/usr/local/pgsql/plugin/proj --without- protobuf $ make $ make install
6. 创建PostgGIS扩展
postgres= # \c template1
template1 = # CREATE EXTENSION hstore;
CREATE EXTENSION
template1 = # CREATE EXTENSION postgis;
CREATE EXTENSION
template1 = # CREATE EXTENSION postgis_topology;
CREATE EXTENSION
template1 = # CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION
template1 = # CREATE EXTENSION postgis_tiger_geocoder;
CREATE EXTENSION
template1 = # \dx
List of installed extensions
Name | Version | Schema | Description
------------------------+---------+------------+------------------------------------------------------------
fuzzystrmatch | 1.1 | public | determine similarities and distance between strings
hstore | 1.7 | public | data type for storing sets of (key, value) pairs
plpgsql | 1.0 | pg_catalog | PL/ pgSQL procedural language
postgis | 3.1 . 0 | public | PostGIS geometry and geography spatial types and functions
postgis_tiger_geocoder | 3.1 . 0 | tiger | PostGIS tiger geocoder and reverse geocoder
postgis_topology | 3.1 . 0 | topology | PostGIS topology spatial types and functions
( 6 rows)
PostgreSQL13+PostGIS31安装手册
标签:director Fix openldap stand systemd flags hba address class
查看更多关于PostgreSQL13+PostGIS31安装手册的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did117894