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" ...
相关推荐
wuminyu3 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
.小小陈.3 小时前
Linux 线程概念与控制:从底层原理到实战应用
linux·运维·jvm
网络工程小王3 小时前
【LangChain 大模型6大调用指南】调用大模型篇
linux·运维·服务器·人工智能·学习
wangbing11253 小时前
各linux版本的包管理命令
linux·运维·服务器
具身小佬4 小时前
2D激光雷达发送的是什么信息
ubuntu
Joseph Cooper4 小时前
Linux/Android 跟踪技术:ftrace、TRACE_EVENT、atrace、systrace 与 perfetto 入门
android·linux·运维
比昨天多敲两行5 小时前
Linux基础开发工具(下)
linux·运维·服务器
BU摆烂会噶6 小时前
【LangGraph】持久化实现的三大能力——时间旅行
数据库·人工智能·python·postgresql·langchain
笨笨饿6 小时前
69_如何给自己手搓一个串口
linux·c语言·网络·单片机·嵌入式硬件·算法·个人开发
cn_lyg7 小时前
Linux的入门级常用操作命令
linux·运维·服务器