如何在 Ubuntu 上安装和配置 PostgreSQL:完整新手指南

1. 介绍

PostgreSQL 是一种高度可靠且高性能的关系型数据库系统,广泛用于 Ubuntu 环境中的众多应用和系统。本文阐述了在 Ubuntu 上安装 PostgreSQL 并进行基本配置的步骤。每一步都为初学者提供了清晰的说明,包括安装检查和连接故障排除,让您能够自信地搭建环境。

2. 前置条件和准备工作

首先,确保您的 Ubuntu 版本为 20.04 或 22.04。在安装 PostgreSQL 之前,更新软件包列表以获取最新的包信息。

sudo apt update

这可以确保安装过程顺利进行。

3. PostgreSQL 安装步骤

3.1 添加 PostgreSQL 仓库

默认的 Ubuntu 仓库可能不包含最新的 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'
sudo wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc

3.2 安装 PostgreSQL

添加仓库后,使用以下命令安装 PostgreSQL 及其附加工具:

sudo apt update
sudo apt install postgresql postgresql-contrib

3.3 验证安装

安装完成后,通过检查版本来确认 PostgreSQL 已正确安装。

postgres --version

4. 初始配置

4.1 配置 PostgreSQL 用户

安装过程中会创建一个名为 “postgres” 的系统用户。切换到该用户以执行数据库操作。

sudo -i -u postgres

4.2 编辑本地连接设置

编辑 pg_hba.conf 文件以设置认证方式。默认情况下,仅允许本地连接。若要启用远程访问,请修改以下文件:

sudo nano /etc/postgresql/14/main/pg_hba.conf

例如,您可以强制使用 “md5” 认证以提升安全性:

local   all             postgres                                md5
host    all             all             127.0.0.1/32            md5

编辑完成后,重启 PostgreSQL 服务以应用更改。

sudo systemctl restart postgresql

5. 基本操作检查

5.1 启动和停止 PostgreSQL

PostgreSQL 在安装后会自动启动,但您也可以使用以下命令手动启动、停止或检查其状态:

sudo systemctl status postgresql
sudo systemctl start postgresql
sudo systemctl stop postgresql

5.2 检查数据库

使用 psql 命令连接 PostgreSQL 并查看现有数据库。

sudo -u postgres psql

在命令提示符下输入 \l 列出当前数据库。

6. 安装和配置 pgAdmin(可选)

pgAdmin 是一个简化 PostgreSQL 管理的 GUI 工具。使用以下命令安装它,并通过浏览器管理 PostgreSQL:

sudo apt install pgadmin4

安装完成后,访问 http://localhost/pgadmin 进入界面。

7. 常见错误排查

7.1 安装和仓库错误

如果在安装过程中遇到依赖或仓库错误,请检查仓库 URL 并再次更新软件包列表。

sudo apt update

7.2 连接错误

如果出现 “密码认证失败” 等错误,请检查 pg_hba.conf 文件,确认密码正确,并重启服务。

sudo systemctl restart postgresql

7.3 网络错误解决

如果远程连接失败,postgresql.conf 文件可能将 listen_addresses 设置为 “localhost”。按如下方式修改,以允许远程连接:

sudo nano /etc/postgresql/14/main/postgresql.conf

更改设置如下所示:

listen_addresses = '*'

重新启动服务以应用更改。

sudo systemctl restart postgresql

8. 结论

本指南解释了如何在 Ubuntu 上安装 PostgreSQL、进行配置以及执行基本的操作检查。通过包含 pgAdmin、远程访问配置和故障排除技巧,即使是首次使用的用户也能够顺利搭建环境。

侍エンジニア塾