目录
一、准备工作
1.1、系统要求
1.2 、更新 Ubuntu 系统
1.3 、安装依赖
1.4 、添加 PostgreSQL 16 软件源
二、安装 PostgreSQL 16 数据库
三、管理 PostgreSQL 服务
四、PostgreSQL 管理操作
4.1 、访问 Postgres 超级用户账户
4.2 、创建数据库并设置管理权限
4.3 、开启 PostgreSQL 16 远程访问
一、准备工作
安装 PostgreSQL 16 之前,需要做一些准备工作:
1.1、系统要求
硬件组件 | 最低要求 |
---|---|
处理器 | 2GHz 或更快的处理器 |
内存 | 4GB 或以上 |
磁盘空间 | 1024MB 硬盘空间(可能需要额外空间用于数据或支持组件) |
当前版本 | Ubuntu 24.04LTS |
1.2 、更新 Ubuntu 系统
在Ubuntu 中执行以下命令,更新系统软件包:
sudo apt update # 更新软件包列表
sudo apt upgrade # 升级软件包
1.3 、安装依赖
安装 PostgreSQL 16 运行所需的依赖包,这是确保数据库系统正常运行的基础:
sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https lsb-release curl
1.4 、添加 PostgreSQL 16 软件源
1、导入 PostgreSQL GPG 密钥,确保下载的软件包安全可靠:
curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql.gpg > /dev/null
2、根据需要,添加 PostgreSQL 16 仓库(选项其中一个):
- 适用于生产或日常使用的稳定仓库
稳定仓库是大多数用户,尤其是生产环境中的首选。它会定期更新,确保版本稳定和安全:
echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main | sudo tee /etc/apt/sources.list.d/postgresql.list
导入 PostgreSQL GPG 密钥,并添加 PostgreSQL 软件源
- 适用于开发者的测试仓库
如果正在进行开发或测试,可以使用快照或测试仓库。但请注意,由于测试版本可能不稳定,不适用于生产环境:
echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-snapshot main | sudo tee /etc/apt/sources.list.d/postgresql.list
- 包含最新功能的测试仓库
设置最新功能的测试仓库:
echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-testing main | sudo tee /etc/apt/sources.list.d/postgresql.list
3、更新软件包列表,让 Ubuntu 识别新添加的 PostgreSQL 16 软件源:
sudo apt update
二、安装 PostgreSQL 16 数据库
1、在Ubuntu 中执行以下命令,安装 PostgreSQL 16 服务器和客户端:
sudo apt install postgresql-client-16 postgresql-16
安装 PostgreSQL 16 服务器和客户端
2、安装完成后,检查 PostgreSQL 服务的状态:
sudo systemctl status postgresql
如果 PostgreSQL 服务已成功启动,你将会看到服务正在运行。
查看 PostgreSQL 服务是否已启动
三、管理 PostgreSQL 服务
安装完成后,我们可以对 PostgreSQL 服务进行管理操作:
- 检查服务状态
确认 PostgreSQL 服务是否正在运行。在「终端」中执行以下命令:
sudo systemctl status postgresql
- 启动、停止和重启服务
你也可以根据实际需要,手动启动、停止或重启 PostgreSQL 服务:
sudo systemctl start postgresql # 启动服务
sudo systemctl stop postgresql # 停止服务
sudo systemctl restart postgresql # 重启服务
- 设置开机自启动
为了提升使用便捷性,建议将 PostgreSQL 设置为系统启动时自动启动:
sudo systemctl enable postgresql # 设置开机自启动
sudo systemctl disable postgresql # 禁用开机自启动
四、PostgreSQL 管理操作
4.1 、访问 Postgres 超级用户账户
1、在 PostgreSQL 中,postgres
是默认的超级用户,它对执行管理命令至关重要。要切换到这个账户,请执行:
sudo -i -u postgres
2、进入账户后,输入以下命令打开 PostgreSQL 命令行界面:
psql
3、当你看到postgres=#
提示符时,表示已经成功连接到 PostgreSQL 环境。
4、也可以使用以下命令直接访问 PostgreSQL(推荐)
sudo -u postgres psql
5、执行exit
随时退出 PostgreSQL 环境。
4.2 、创建数据库并设置管理权限
创建 PostgreSQL 数据库并设置管理权限
1、出于安全等因素考虑,通常我们并不直接使用postgres
帐户,而是创建新的 PostgreSQL 用户角色:
sudo su - postgres -c "createuser <用户名>" # 把 <用户名> 替换成你想要的用户名
sudo su - postgres -c "createuser jackdb" # 把 <用户名> 替换成你想要的用户名
2、新用户创建一个数据库:
sudo su - postgres -c "createdb <数据库名>" # 把 <数据库名> 替换成你想要的数据库名称
sudo su - postgres -c "createdb ai" # 把 <数据库名> 替换成你想要的数据库名称
3、授予用户访问数据库的权限:
sudo -u postgres psql
GRANT ALL PRIVILEGES ON DATABASE ai TO jackdb;
4.3 、开启 PostgreSQL 16 远程访问
默认情况下,PostgreSQL 只监听本地网络接口。如果需要远程连接 PostgreSQL,需要将其调整为其他指定的网络接口:
1、使用文本编辑器打开 PostgreSQL 配置文件:
sudo vi /etc/postgresql/16/main/postgresql.conf
2、在「Connection Settings」部分,找到listen_addresses = 'localhost'
,取消注释并根据你的需要进行修改:
- 如果只允许特定 IP 地址访问,就把
localhost
替换成该 IP 地址。 - 如果要允许所有网络连接,就改成
listen_addresses = '*'
。
开启 PostgreSQL 16 远程访问IP限制
3、修改pg_hba.conf文件
- 查找位置
sudo find / -name pg_hba.conf
- 修改配置文件pg_hba.conf
sudo vi /etc/postgresql/16/main/pg_hba.conf
增加一条数据
host all all 0.0.0.0/0 trust
4、保存配置文件,并重启 PostgreSQL 服务让修改生效:
sudo systemctl restart postgresql
5、查看数据库进程状态
sudo lsof -i :5432