postgresql部署
(1)rpm文件准备
上传到服务器/opt/rpm/postgresql目录
(2)创建用户
groupadd postgres
useradd -g postgres postgres
passwd postgres
(3)rpm安装
按照以下顺序进行以此执行安装。
cd /opt/rpm/postgresql
rpm -ivh postgresql11-libs-11.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh libicu-50.2-4.el7_7.x86_64.rpm
rpm -ivh postgresql11-11.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql11-server-11.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh libxslt-1.1.28-5.el7.x86_64.rpm
rpm -ivh postgresql11-contrib-11.15-1PGDG.rhel7.x86_64.rpm
安装完成,进行数据目录初始化
/usr/pgsql-11/bin/postgresql-11-setup initdb
初始化成功进入的软件安装目录和数据目录,可以见到如下信息:
cd /usr/pgsql-11
ls
cd /var/lib/pgsql/11/data/
ls
(4)数据目录权限配置
chown postgres:postgres /var/lib/pgsql/11/data
(5)数据库端口及访问限制配置
- 修改/var/lib/pgsql/11/data目录下的postgresql.conf文件配置
vi postgresql.conf
其中,参数“listen_addresses”表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。
把“license_addresses = '*'”放开即可。
- 修改/var/lib/pgsql/11/data目录下的pg_hba.conf 文件配置
vi pg_hba.conf
(6)启动配置
systemctl enable postgresql-11
systemctl start postgresql-11 //启动数据库服务
systemctl stoppostgresql-11 //停止数据库服务
systemctl status postgresql-11 //查看数据库服务状态
(6)psql命令配置
vi /etc/profile
source /etc/profile
(7)数据库安装验证
切换用户到postgres
su - postgres
psql -p 10005
必须对postgres用户密码修改,ALTER USER postgres WITH PASSWORD '******;
psql -h <主机名> -p <端口号> -U <用户名> -d <数据库名>
验证成功,postgresql部署完成!
postgis部署
(1)rpm文件准备
总共70个rpm文件包,上传到服务器/opt/rpm/postgis
(2)rpm安装
cd /opt/rpm/postgis
rpm -ivh *.rpm --nodeps --force
(3)postgis验证
切换到postgres用户,登录数据库执行以下sql:
create extension postgis;
create extension postgis_topology;
create extension fuzzystrmatch;
create extension postgis_tiger_geocoder;
安装验证完成!