Ubuntu安装postgresql和postgis
1.安装环境
Ubuntu 18、20、22
PostgreSQL 14
PostGIS 3.4
2 安装PostgreSQL
要在 Ubuntu 上安装 PostgreSQL 和 PostGIS,可以按照以下步骤操作:
在 Ubuntu 上安装特定版本的 PostgreSQL 数据库,你可以使用 apt
包管理器来实现。以下是安装特定版本 PostgreSQL 的步骤:
-
添加 PostgreSQL 官方仓库:
如果还没有添加 PostgreSQL 官方仓库,可以使用以下命令添加:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt update
-
安装指定版本的 PostgreSQL:
一旦添加了官方仓库,可以安装特定版本的 PostgreSQL。例如,安装 PostgreSQL 14,可以执行以下命令:
sudo apt install postgresql-14
如果需要安装其他版本的 PostgreSQL,只需将软件包名称中的版本号更改为你需要的版本即可。
-
启动 PostgreSQL 服务:
安装完成后,PostgreSQL 服务应该会自动启动。你可以使用以下命令检查 PostgreSQL 服务的状态:
sudo systemctl status postgresql@14-main
如果服务未启动,你可以使用以下命令手动启动它:
sudo systemctl start postgresql@14-main
3 安装 PostGIS 扩展
接下来,安装 PostGIS 扩展。PostGIS 是 PostgreSQL 中用于地理空间数据处理的扩展。
sudo apt install postgis postgresql-14-postgis-3
这将安装 PostgreSQL 14 版本的 PostGIS 扩展。如果希望安装其他版本的 PostGIS,可以相应地更改软件包名称中的版本号。
4 创建 PostgreSQL 数据库
安装完 PostGIS 扩展后,需要创建一个数据库,并启用 PostGIS 扩展。首先,以 postgres
超级用户身份登录到 PostgreSQL:
sudo -u postgres psql
然后在 PostgreSQL 命令行中创建一个数据库:
CREATE DATABASE postgis_test;
若需修改postgres用户密码,在进入数据库后,执行以下命令,二次确认密码后即可
\password postgres
-
启用 PostGIS 扩展:
进入刚才创建的数据库:
\c postgis_test;
然后,启用 PostGIS 扩展:
CREATE EXTENSION postgis;
如果你还需要启用其他的地理空间扩展(如 topology、tiger_geocoder 等),可以进一步启用它们:
CREATE EXTENSION postgis_topology; CREATE EXTENSION fuzzystrmatch; CREATE EXTENSION postgis_tiger_geocoder;
最后,退出 PostgreSQL 命令行:
\q
现在,你已经在 Ubuntu 上成功安装了 PostgreSQL 和 PostGIS,并创建了一个具有 PostGIS 扩展的数据库。
5 查看postgresql数据库和postgis版本
要查看 PostgreSQL 数据库的版本,可以使用以下命令:
```bash
psql --version
```
这将显示安装在系统上的 PostgreSQL 版本。
要检查是否安装了 PostGIS 扩展,并查看其版本,需要可以连接到 PostgreSQL 数据库并执行以下 SQL 查询:
```sql
SELECT PostGIS_full_version();
```
这将返回安装的 PostGIS 版本信息。如果返回的结果中包含了版本号,就说明 PostGIS 已经安装并可用。
6 配置postgresql数据库ip连接
刚安装的数据库,默认只有本机ip可以连接,如需要远程连接还需要配置ip地址
要设置 PostgreSQL 允许特定 IP 地址访问,需要编辑 PostgreSQL 的配置文件 `postgresql.conf` 和访问控制文件 `pg_hba.conf`。
-
编辑
postgresql.conf
文件:打开
postgresql.conf
文件:sudo vim /etc/postgresql/14/main/postgresql.conf
找到
listen_addresses
参数并将其设置为需要允许访问的 IP 地址。如果要允许所有 IP 地址访问,可以将其设置为'*'
。例如:listen_addresses = 'localhost,192.168.1.100'
保存并关闭文件后,重新启动 PostgreSQL 服务使更改生效:
sudo systemctl restart postgresql@14-main
-
编辑
pg_hba.conf
文件:打开
pg_hba.conf
文件:sudo vim /etc/postgresql/14/main/pg_hba.conf
在文件中添加允许访问的规则。例如,如果要允许来自 IP 地址
192.168.1.100
的所有用户访问所有数据库,可以添加如下规则:host all all 192.168.1.100/32 md5
这表示使用密码验证 (
md5
) 的方式允许来自 IP 地址192.168.1.100
的所有用户访问所有数据库。保存并关闭文件后,重新启动 PostgreSQL 服务使更改生效:
sudo systemctl restart postgresql@14-main
根据需求修改 IP 地址和访问规则。安全起见,需确保仅允许受信任的 IP 地址访问 PostgreSQL 数据库。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!