OpenSUSE 安装 PostGIS 3 (Postgresql 13)
1、获取 PostGIS 软件源
直接到 https://software.opensuse.org/explor 网站,选择对应的发行版后,搜索 postgis
,然后在搜索到的结果里面找到要安装的版本,查看相关信息。
注:我这里使用的是 OpenSUSE Tumbleweed
版本。
看到上面界面后,点击后面的 Export Download
进入软件的下载页面。
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
地址掩码即可。我这里只把 IPv4
的 127.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
,密码为之前设置的密码。
可以在 登录/组角色
里面创建新的用户等。
在 数据库/扩展
里面添加 postgis
扩展。