OpenSUSE 安装 PostGIS 3 (Postgresql 13)

1、获取 PostGIS 软件源

直接到 https://software.opensuse.org/explor 网站,选择对应的发行版后,搜索 postgis,然后在搜索到的结果里面找到要安装的版本,查看相关信息。

注:我这里使用的是 OpenSUSE Tumbleweed版本。

image-20210118101111092

看到上面界面后,点击后面的 Export Download 进入软件的下载页面。

image-20210118101350023

2、安装 PostGIS 软件

使用上面图中的命令进行 PostGIS 的安装,一下命令都要在 root 权限下执行。

# 添加软件源仓库
zypper addrepo https://download.opensuse.org/repositories/home:Ledest:erlang/openSUSE_Tumbleweed/home:Ledest:erlang.repo
# 更新
zypper refresh
# 安装 postgis
zypper install postgresql13-postgis

3、配置 PostGIS 软件

安装完成后,需要进行一些基本设置,才能正常使用。

首先给安装时候默认创建的 postgres 用户设置一个密码。

# 设置密码可能提示你密码无效,因为密码设置得太简单了。不过可以忽略这个提示,输入两次密码设置即可。
sudo passwd postgres

设置完 postgres 用户的密码后,切换到这个用户。

su postgres

然后需要初始化一个 PostGIS 的数据存储目录,使用 initdb 命令进行操作。

initdb -D /mnt/data/postgis
# 这里的 -D 指定数据目录,也可以使用环境变量 PGDATA 来指定。

接下来进入数据目录,修改上面初始化生成的配置文件。

cd /mnt/data/postgis

先修改 pg_hba.config 文件,开放所有 IP 对数据库的访问。

找到下面内容对应的位置,修改 ADDRESS 列的 IP 地址掩码即可。我这里只把 IPv4127.0.0.1/32 改为了 0.0.0.0/0,也就是允许所有 IPv4 地址。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             0.0.0.0/0            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             0.0.0.0/0            trust
host    replication     all             ::1/128                 trust

然后修改 postgresql.conf,找到 CONNECTIONS AND AUTHENTICATION 部分,将其中的 listen_addresses 后的值改为 * ,使服务程序监听所有地址,而不是仅本地环回。

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'		     # 监听所有地址,修改后重启服务生效
#port = 5432				     # 绑定端口,修改后重启服务生效
max_connections = 100			 # 最大连接数,修改后重启服务生效
#superuser_reserved_connections = 3	# 修改后重启服务生效
#unix_socket_directories = '/var/run/postgresql, /tmp'	# comma-separated list of directories
					# (change requires restart)
#unix_socket_group = ''			# (change requires restart)
#unix_socket_permissions = 0777		# begin with 0 to use octal notation
					# (change requires restart)

4、启动 PostGIS 服务

上面的配置都设置完成之后,可以使用 pg_ctl 命令来对 PostGIS 服务进行启停操作。

# 如果设置了 PGDATA 环境变量,下面的命令可以不指定 -D 参数

# 启动服务
pg_ctl start -D /mnt/data/postgis

# 停止/重启 服务
pg_ctl stop -D /mnt/data/postgis
pg_ctl restart -D /mnt/data/postgis

# 停止或重启服务可以指定 -m 选项:
#  -m, --mode=MODE        可以是 "smart", "fast", 或者 "immediate"
# 关闭模式有如下几种:
#  smart       所有客户端断开连接后退出
#  fast        直接退出, 正确的关闭(默认)
#  immediate   不完全的关闭退出; 重启后恢复

# 查看服务状态
pg_ctl start -D /mnt/data/postgis

服务启动后会在 PGDATA 目录下的 log 文件夹记录相关运行日志。

启动完成后可以使用 pgAdmin 工具连接数据库进行操作,使用帐号为 posgres,密码为之前设置的密码。

image-20210118103829814

可以在 登录/组角色 里面创建新的用户等。

image-20210118104049393
数据库/扩展 里面添加 postgis 扩展。

posted @ 2021-01-18 10:45  乌合之众  阅读(593)  评论(0编辑  收藏  举报
clear