如何在 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

您应该在以下输出中看到所有数据库:

数据库列表 PostgreSQL

要将数据库切换到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。如果您需要更多信息或有任何疑问,请在下方发表评论,我们很乐意为您提供帮助!

在下面查看我们的其他一些文章。

类似文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注