Linux下安装配置postgresSQL9.5并安装postgis扩展

使用yum安装postgresSQL9.5

在以下官方网站选择版本和系统信息,根据官方的安装方式操作
[https://www.postgresql.org/download/linux/redhat/]

安装pg仓库rpm包

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

安装postgreSQL客户端和服务

yum install postgresql95
yum install postgresql95-server

安装以后系统会默认创建postgres用户,通过以下命令可查看到

cat /etc/passwd

默认安装目录在/usr/下的pgsql-9.5
执行初始化数据库命令,此时默认数据目录存放在/var/lib/pgsql/9.5下

# 执行后会在/var/lib/pgsql/9.5下生成data目录
/usr/pgsql-9.5/bin/postgresql95-setup initdb

我们一般会通过以下方式自定义数据库的数据存放目录,不执行第4步骤
创建数据存放位置,修改目录所属组和权限归postgres用户所有

mkdir -p /APP/pgsql/data
chown -R postgres:postgres pgsql/data
chown -R postgres:postgres pgsql
chmod -R 750 pgsql/data

用root给postgres用户设置密码

# 输入两次密码即可更新
passwd postgres

登陆到postgres用户,初始化数据库,使用我们自定义的数据目录

# 切换到postgres用户初始化操作(默认的数据位置直接root执行第4步骤即可)
su - postgres
# 执行以下命令会在/APP/pgsql/data/产生很多数据文件
/usr/pgsql-9.5/bin/initdb -D /APP/pgsql/data/

配置开机自启和远程登陆,修改默认端口

初始化数据库后会在数据目录/APP/pgsql/data下生成postgresql.conf核心配置文件,该文件是postgres服务的配置文件,数据目录在哪里该文件就在哪里,可用root直接执行以下操作配置
修改/APP/pgsql/data/postgresql.conf文件中的默认端口和监听地址(可远程登陆)

#listen_addresses = 'localhost' 改为以下配置
listen_addresses = '*'
# 默认端口改为其它端口
#port = 5432
port = 54321

修改/APP/pgsql/data/pg_hba.conf文件,加入最后一行配置,表示可远程登陆

host    all             all             0.0.0.0/0                md5

如下图:
Linux下安装配置postgresSQL9.5并安装postgis扩展_第1张图片
设置开机自启

systemctl enable postgresql-9.5

安装postgis扩展支持地理信息数据处理函数模块

#安装postgis
#对应的版本为 postgis24_10 postgis24_10-client
yum install postgis24_95 postgis24_95-client
# 安装扩展工具,这里安装的是9.5版本为95,如果是10版本则为ogr_fdw10
yum install ogr_fdw95 -y yum install pgrouting_95 -y

启动数据库

systemctl stop postgresql-9.5
# 查看运行状态
systemctl status postgresql-9.5

使用postgres用户登陆postgres默认数据库,并设置登陆密码

/usr/pgsql-9.5/binpsql -U postgres -p 54321-d postgres
postgres=# 
#给postgres用户设置密码,远程登陆postgres用户时即使用该密码
postgres=# ALTER USER postgres WITH PASSWORD 'test123';

在postgres=#控制台创建数据库,并切换到该库创建gis扩展

CREATE DATABASE test_db OWNER postgres;
# 切换到该库下面后创建gis扩展
\c test_db
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION ogr_fdw;

创建postgis扩展包错解决

加载共享库时出错:libpq.so.5:无法打开共享对象文件:没有这样的文件或目录(Error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory)
# 复制postgreSQL安装目录下的库文件到/usr/lib64下即可(32位系统复制到/usr/lib下)
ln -s /usr/pgsql-9.4/lib/libpq.so.5 /usr/lib64/libpq.so.5

配置环境变量直接使用pgsql命令

vim /etc/profile
# postgres
PGDATA=/APP/pgsql/data
PATH=/usr/pgsql-9.5/bin/:$PATH
export LD_LIBRARY_PATH=/usr/pgsql-9.5/lib
export PGDATA PATH
# 立即生效
source /etc/profile

数据库的备份和恢复

1.备份

pg_dump -h localhost -p 8001 -U postgres axatp_poc > ./pgDataBackup/axatp_poc.bak

2.恢复

# 前提是axatp_poc库以创建
psql -h localhost -p 54321 -U postgres -d axatp_poc < ./axatp_poc.bak

以上

你可能感兴趣的:(Linux,数据库,postgresql,sql)