ubuntu安装postgresql、postgis、pgrouting

ps:我是在windows中的 wsl 中创建了 ubuntu,所以不涉及任何防火墙、端口相关的内容

1. 安装postgresql

shell 复制代码
sudo apt update
sudo apt install postgresql postgresql-contrib

安装完成后系统会自动创建一个 postgres 用户,先切换到 postgres 用户

shell 复制代码
# 切换用户
sudo -i -u postgres

设置密码

sql 复制代码
# 查看配置文件地址
show config_file;
show hba_file;


postgresql.conf 修改

pg_hba.conf 修改

重启:

shell 复制代码
systemctl restart postgresql

2. 安装插件 [postgis、pgrouting]

这个里面有相关说明
https://github.com/dhamaniasad/awesome-postgres

我的 postgresql 版本是 16

1. 添加PostgreSQL Apt仓库(如果尚未添加)

复制代码
```shell
# 安装所需工具
sudo apt install ca-certificates gnupg curl

# 添加PGDG密钥
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null

# 添加仓库
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# 更新包列表
sudo apt update
```

2. 安装PostGIS for PostgreSQL 16(其它版本直接把下面的 16 改成你的版本即可)

shell 复制代码
# 查看可用的PostGIS版本 ,如果是其它版本就把 16  改成你的本
apt search postgresql-16-postgis

# 安装PostGIS命令行工具
sudo apt install postgis

# postgis插件
sudo apt install postgresql-16-postgis-3

# pgrouting 插件
sudo apt install postgresql-16-pgrouting

如果有提示升级啥的直接选 no

3. 测试

shell 复制代码
# 切换用户 进入 postgresql 命令行
sudo -u postgres psql

CREATE DATABASE gis_test;

# 连接到新数据库
\c gis_test

# 启用PostGIS扩展
CREATE EXTENSION postgis;

# 验证安装
SELECT PostGIS_Version();

# 应该看到类似这样的输出:
# POSTGIS="3.4.0" [EXTENSION] PGSQL="160" GEOS="3.11.1" PROJ="9.1.1" ...
相关推荐
生活很暖很治愈2 分钟前
Linux——基础IO&软硬链接
linux·ubuntu
2401_8589368815 分钟前
【Linux C 编程】标准 IO 详解与实战:从基础接口到文件操作实战
linux·c语言
Roc.Chang27 分钟前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
松涛和鸣1 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
Anesthesia丶1 小时前
Ubuntu20.04 升级 Ubuntu24.04 LTS
ubuntu
简单中的复杂1 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
wVelpro2 小时前
如何在Pycharm 2025.3 版本实现虚拟环境“Make available to all projects”
linux·ide·pycharm
程序员老舅2 小时前
C++高并发精髓:无锁队列深度解析
linux·c++·内存管理·c/c++·原子操作·无锁队列
雨中风华3 小时前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos
IvorySQL3 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源