01-Ubuntu24.04LTS上安装PGSQL

目录

一、准备工作

1.1、系统要求

[1.2 、更新 Ubuntu 系统](#1.2 、更新 Ubuntu 系统)

[1.3 、安装依赖](#1.3 、安装依赖)

[1.4 、添加 PostgreSQL 16 软件源](#1.4 、添加 PostgreSQL 16 软件源)

[二、安装 PostgreSQL 16 数据库](#二、安装 PostgreSQL 16 数据库)

[三、管理 PostgreSQL 服务](#三、管理 PostgreSQL 服务)

[四、PostgreSQL 管理操作](#四、PostgreSQL 管理操作)

[4.1 、访问 Postgres 超级用户账户](#4.1 、访问 Postgres 超级用户账户)

[4.2 、创建数据库并设置管理权限](#4.2 、创建数据库并设置管理权限)

[4.3 、开启 PostgreSQL 16 远程访问](#4.3 、开启 PostgreSQL 16 远程访问)


一、准备工作

安装 PostgreSQL 16 之前,需要做一些准备工作:

1.1、系统要求

硬件组件 最低要求
处理器 2GHz 或更快的处理器
内存 4GB 或以上
磁盘空间 1024MB 硬盘空间(可能需要额外空间用于数据或支持组件)
当前版本 Ubuntu 24.04LTS

1.2 、更新 Ubuntu 系统

在Ubuntu 中执行以下命令,更新系统软件包:

bash 复制代码
sudo apt update  # 更新软件包列表
sudo apt upgrade # 升级软件包

1.3 、安装依赖

安装 PostgreSQL 16 运行所需的依赖包,这是确保数据库系统正常运行的基础:

bash 复制代码
sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https lsb-release curl

1.4 、添加 PostgreSQL 16 软件源

1、导入 PostgreSQL GPG 密钥,确保下载的软件包安全可靠:

bash 复制代码
curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql.gpg > /dev/null

2、根据需要,添加 PostgreSQL 16 仓库(选项其中一个):

  • 适用于生产或日常使用的稳定仓库

稳定仓库是大多数用户,尤其是生产环境中的首选。它会定期更新,确保版本稳定和安全:

bash 复制代码
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 软件源

  • 适用于开发者的测试仓库

如果正在进行开发或测试,可以使用快照或测试仓库。但请注意,由于测试版本可能不稳定,不适用于生产环境:

bash 复制代码
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
  • 包含最新功能的测试仓库

设置最新功能的测试仓库:

bash 复制代码
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 软件源:

bash 复制代码
sudo apt update

二、安装 PostgreSQL 16 数据库

1、在Ubuntu 中执行以下命令,安装 PostgreSQL 16 服务器和客户端:

bash 复制代码
sudo apt install postgresql-client-16 postgresql-16

安装 PostgreSQL 16 服务器和客户端

2、安装完成后,检查 PostgreSQL 服务的状态:

bash 复制代码
sudo systemctl status postgresql

如果 PostgreSQL 服务已成功启动,你将会看到服务正在运行。

查看 PostgreSQL 服务是否已启动

三、管理 PostgreSQL 服务

安装完成后,我们可以对 PostgreSQL 服务进行管理操作:

  • 检查服务状态

确认 PostgreSQL 服务是否正在运行。在「终端」中执行以下命令:

bash 复制代码
sudo systemctl status postgresql
  • 启动、停止和重启服务

你也可以根据实际需要,手动启动、停止或重启 PostgreSQL 服务:

bash 复制代码
sudo systemctl start postgresql   # 启动服务

sudo systemctl stop postgresql    # 停止服务

sudo systemctl restart postgresql  # 重启服务
  • 设置开机自启动

为了提升使用便捷性,建议将 PostgreSQL 设置为系统启动时自动启动:

bash 复制代码
sudo systemctl enable postgresql  # 设置开机自启动

sudo systemctl disable postgresql # 禁用开机自启动

四、PostgreSQL 管理操作

4.1 、访问 Postgres 超级用户账户

1、在 PostgreSQL 中,postgres是默认的超级用户,它对执行管理命令至关重要。要切换到这个账户,请执行:

bash 复制代码
sudo -i -u postgres

2、进入账户后,输入以下命令打开 PostgreSQL 命令行界面:

bash 复制代码
psql

3、当你看到postgres=#提示符时,表示已经成功连接到 PostgreSQL 环境。

4、也可以使用以下命令直接访问 PostgreSQL(推荐)

bash 复制代码
sudo -u postgres psql

5、执行exit随时退出 PostgreSQL 环境。

4.2 、创建数据库并设置管理权限

创建 PostgreSQL 数据库并设置管理权限

1、出于安全等因素考虑,通常我们并不直接使用postgres帐户,而是创建新的 PostgreSQL 用户角色:

bash 复制代码
sudo su - postgres -c "createuser <用户名>"  # 把 <用户名> 替换成你想要的用户名

sudo su - postgres -c "createuser jackdb"  # 把 <用户名> 替换成你想要的用户名

2、新用户创建一个数据库:

bash 复制代码
sudo su - postgres -c "createdb <数据库名>"  # 把 <数据库名> 替换成你想要的数据库名称

sudo su - postgres -c "createdb ai"  # 把 <数据库名> 替换成你想要的数据库名称

3、授予用户访问数据库的权限:

bash 复制代码
sudo -u postgres psql
GRANT ALL PRIVILEGES ON DATABASE ai TO jackdb;

4.3 、开启 PostgreSQL 16 远程访问

默认情况下,PostgreSQL 只监听本地网络接口。如果需要远程连接 PostgreSQL,需要将其调整为其他指定的网络接口:

1、使用文本编辑器打开 PostgreSQL 配置文件:

bash 复制代码
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文件

  • 查找位置
bash 复制代码
sudo find /  -name pg_hba.conf
  • 修改配置文件pg_hba.conf
bash 复制代码
sudo vi  /etc/postgresql/16/main/pg_hba.conf

增加一条数据

host all all 0.0.0.0/0 trust

4、保存配置文件,并重启 PostgreSQL 服务让修改生效:

bash 复制代码
sudo systemctl restart postgresql

5、查看数据库进程状态

bash 复制代码
sudo lsof -i :5432
相关推荐
考虑考虑6 小时前
数据库中的EXISTS
运维·数据库·后端
爱网络爱Linux6 小时前
【系列】每天一个 Linux 命令(53)startx 命令
linux·rhce·rhca·linux运维·linux命令大全·红帽认证
ZhengEnCi7 小时前
L2A-一个域名如何访问多台云服务器-子域名、路径前缀与Nginx反向代理选型指南
linux·人工智能
M78佐菲7 小时前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
郑州光合科技余经理7 小时前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程
高亦真7 小时前
今天是学习嵌入式的第37天
linux·学习·算法
一个有温度的技术博主8 小时前
Linux 核心命令速查指南:从文件操作到系统运维
linux·服务器
小小的木头人8 小时前
Docker 环境下迁移 containerd 数据目录:从 `/var/lib/containerd` 到 `/data/containerd`
linux·docker
天远数科9 小时前
零信任架构实战:基于天远全能消金报告构建自动化信贷评估网关
运维·人工智能·架构·自动化
小虎AI生活9 小时前
微信 AI 社交灰度测试:企业 AI 落地真正的门槛在知识库治理
ai编程