如何在 Debian 11 上安装 PostgreSQL 15
PostgreSQL 也称为 Postgres,是一个运行在客户端-服务器架构上的免费开源对象关系数据库系统。它是用于生产服务器的领先数据库服务器之一。DevOps 使用它作为MariaDB 的替代品。
在本指南中,我们将在 Debian 11 中安装 PostgreSQL 15。
1.更新操作系统
更新您的 Debian 11 操作系统以确保所有现有软件包都是最新的:
# apt update && sudo apt upgrade -y
2.使用官方仓库安装PostgreSQL 15
PostgreSQL 在默认的 Debian 存储库中可用,但可用版本不是最新的。
要获取最新的 PostgreSQL 包,您必须添加PostgreSQL 的官方仓库。
首先,通过运行以下命令安装所有必需的依赖项:
# apt-get install wget sudo curl gnupg2 -y
安装所有依赖项后,使用以下命令创建文件存储库配置:
# 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 -
使用以下命令更新本地包索引:
# apt -y update
现在您可以运行以下命令来安装最新版本的 PostgreSQL 服务器:
# apt-get install postgresql-15 -y
安装成功后,启动PostgreSQL服务并使其在系统重启后启动:
# systemctl start postgresql
# systemctl enable postgresql
验证是否在您的服务器上处于活动状态并正在运行:
# systemctl status postgresql
输出
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited)
Main PID: 7543 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 2300)
Memory: 0B
CPU: 0
CGroup: /system.slice/postgresql.service
默认情况下,PostgreSQL 侦听端口5432。您可以使用以下命令检查它:
# ss -antpl | grep 5432
您将在以下输出中获得 PostgreSQL 侦听端口:
LISTEN 0 244 127.0.0.1:5432 0.0.0.0:* users:(("postgres",pid=7525,fd=6))
LISTEN 0 244 [::1]:5432 [::]:* users:(("postgres",pid=7525,fd=5))
您还可以使用以下命令检查版本:
# sudo -u postgres psql -c "SELECT version();"
您将在以下输出中获得版本:
version
-----------------------------------------------------------------------------------------------------------------------------
PostgreSQL 15.0 (Debian 15.0-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
(1 row)
3.登录PostgreSQL
要访问您的 PostgreSQL 服务器,您必须以 Postgres 用户身份登录。为此,请运行以下命令:
# su postgres
现在您可以使用以下命令访问您的 PostgreSQL shell:
$ psql
在您的输出中,您将看到:
输出
psql (15.0 (Debian 15.0-1.pgdg110+1))
Type "help" for help.
postgres=#
访问 Postgres 的命令外壳后,您现在可以使用 SQL 查询来执行多个与数据库相关的操作。
要设置 Postgres 密码,请运行以下命令:
ALTER USER postgres PASSWORD 'password';
要创建名为 的数据库test
,请运行以下命令:
CREATE DATABASE test;
要列出所有数据库,请运行以下命令:
\l
您应该在以下输出中看到所有数据库:
要将数据库切换到test
,请运行以下命令:
\c test
要创建表(例如accounts
),请运行以下命令:
CREATE TABLE accounts (
user_id serial PRIMARY KEY,
username VARCHAR ( 50 ) UNIQUE NOT NULL,
password VARCHAR ( 50 ) NOT NULL,
email VARCHAR ( 255 ) UNIQUE NOT NULL,
created_on TIMESTAMP NOT NULL,
last_login TIMESTAMP
);
要列出所有表,请运行以下命令:
\dt
您应该在以下输出中看到所有表:
List of relations
Schema | Name | Type | Owner
--------+----------+-------+----------
public | accounts | table | postgres
(1 row)
要退出 shell,请运行以下命令:
exit
4.备份和恢复单个数据库
您可以使用该实用程序备份和恢复单个数据库pg_dump
。
例如,要备份名为 的单个数据库test
并生成名为 的备份文件test_backup.sql
,请运行以下命令:
su - postgres
pg_dump -d test -f test_backup.sql
您还可以使用命令恢复单个数据库psql
。
例如,要从test
名为 的备份文件恢复名为 的单个数据库test_backup.sql
,请运行以下命令:
su - postgres
psql -d test -f test_backup.sql
评论和结论
至此,您将学习如何在 Debian 11 上设置 PostgreSQL 15。如果您需要更多信息或有任何疑问,请在下方发表评论,我们很乐意为您提供帮助!
在下面查看我们的其他一些文章。