Linux环境通过APT 仓库安装版PostgreSQL 数据库是运维人员常见的需求之一,今天我们一步一步演示一下:
1、添加 PostgreSQL APT 仓库
确保你的系统更新,然后添加 PostgreSQL 的官方 APT 仓库。
sudo apt update
sudo apt install -y wget
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
添加 PostgreSQL 仓库到你的系统源列表:
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
添加完仓库后,开始更新软件包列表:
2、更新软件包列表
sudo apt update
之后安装 PostgreSQL 14.9 版本
3、安装 PostgreSQL 14.9
sudo apt install -y postgresql-14
4、启动 PostgreSQL 服务
安装完成后,PostgreSQL 服务会自动启动。可以使用以下命令检查服务状态:
sudo systemctl status postgresql
结果如图
手动启动 PostgreSQL 服务,可以使用:
sudo systemctl start postgresql
5、配置 PostgreSQL
PostgreSQL 默认创建一个名为 postgres
的用户,并设置密码
sudo -i -u postgres
psql
#设置密码,修改密码也是这个sql
ALTER USER postgres WITH PASSWORD 'postgres';
#创建数据库
CREATE DATABASE mydb;
#查看数据库
\l
#退出 PostgreSQL
\q
如图展示:
6、设置 PostgreSQL 开机自启
如果希望 PostgreSQL 在系统启动时自动启动
sudo systemctl enable postgresql
7、配置对外访问权限
编辑 PostgreSQL 的配置文件 postgresql.conf
,允许外部连接:
sudo nano /etc/postgresql/14/main/postgresql.conf
找到 listen_addresses
行,并将其修改为:
listen_addresses = '*'
如图:
允许 PostgreSQL 接受来自所有 IP 地址的连接
8、配置访问控制
编辑 pg_hba.conf
文件,设置对用户的访问权限:
sudo nano /etc/postgresql/14/main/pg_hba.conf
nano保存和退出的方式:
按 Ctrl + O 保存文件,然后按 Enter 确认;按 Ctrl + X 退出编辑器。
在文件末尾添加一行,允许 myuser
从特定 IP 地址访问:
# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5
这将允许 myuser
从任何 IP 地址连接,使用 md5
认证。你可以根据需要限制 IP 地址范围。
9、重启 PostgreSQL 服务
修改配置后,需要重启 PostgreSQL 服务以使更改生效:
sudo systemctl restart postgresql
之后就可以测试连接了用Navicat或者命令:
在外部客户端上,可以使用以下命令测试连接
psql -h <server-ip> -U myuser -d postgres
10‘、PostgreSQL插件安装
可以安装的插件参考:插件列表
示例:PostGIS 是 PostgreSQL 的地理空间扩展插件,它允许 PostgreSQL 数据库进行地理空间数据处理。
# 安装 PostGIS 插件
sudo apt install postgis postgresql-14-postgis-3 -y
如图:
启用 PostGIS 插件,进入mydb数据库后执行SQL:
# 切换到 postgres 用户
sudo -i -u postgres
# 进入 PostgreSQL shell
psql
# 创建一个数据库(如果没有现有数据库)
CREATE DATABASE mydb;
# 切换到该数据库
\c mydb
# 安装 PostGIS 扩展
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
# 验证 PostGIS 是否安装成功
SELECT PostGIS_Full_Version();
如图:
通过Navicat验证查询安装的插件
#所有已安装的扩展及其状态和版本信息
SELECT * FROM pg_extension;
#所有可用的扩展和其描述
SELECT * FROM pg_available_extensions;
如图:
到此,Linux环境通过APT 仓库安装版PostgreSQL 数据库完成,后续一些其他的细节我们继续更新,敬请期待!