如何在 PostgreSQL 中创建用户?(PostgreSQL 创建用户)

随着管理海量数据的需求不断增长,数据库系统也在持续演进。PostgreSQL 是当今最可靠、性能最出色的解决方案之一,被广泛应用于各种规模的应用中。

本分步指南将带您了解 PostgreSQL 创建用户(postgresql create user)的操作,即如何在 PostgreSQL 中创建用户。我们还将介绍如何使用 Docker 在 Ubuntu 上安装 PostgreSQL 服务器。

什么是 PostgreSQL?

PostgreSQL 是一款功能强大的开源对象关系型数据库管理系统(ORDBMS),以其性能、数据完整性和灵活性而著称。凭借稳定性和丰富的功能,它深受开发者和企业的青睐。

PostgreSQL 遵循 ACID 原则,即原子性、一致性、隔离性和持久性,即使在系统崩溃或意外故障的情况下,也能确保事务的可靠性。

PostgreSQL 的主要特性:

  • 对地理数据的高级支持,包括索引和空间查询
  • 内置数据复制支持
  • 强大的基于角色的访问控制系统
  • 全文搜索功能
  • 多版本并发控制(MVCC),可高效处理事务
  • 灵活的键值存储支持

前提条件

开始之前,请确保您已具备以下条件:

  • 一台运行最新版本 Ubuntu 的系统
  • 您的机器上已安装 Docker(如有需要,请参阅 Docker 官方文档)
  • 您的用户账户应属于 Docker 用户组,这样无需每次都使用 root 权限即可运行 Docker 命令。

如何在 PostgreSQL 中创建用户:分步指南

要在 PostgreSQL 中创建新用户(或角色),我们首先在 Docker 容器中搭建一个 PostgreSQL 实例。容器运行后,我们将使用 psql 命令行工具连接到 PostgreSQL 服务器,然后创建和管理角色,所有操作都在 Docker 环境中完成。

第 1 步:使用 Docker 搭建 PostgreSQL

启动并运行 PostgreSQL 最简单的方法,是使用由 PostgreSQL 社区维护的官方 Docker 镜像。

您可以使用以下命令启动容器:

docker run --name postgres_db -e POSTGRES_PASSWORD=mysecretpassword -d postgres

请将 mysecretpassword 替换为您自己选择的强密码。例如:

# docker run --name postgres_db -e POSTGRES_PASSWORD=password123 -d postgres

在 PostgreSQL 中创建用户 1

该命令会拉取 PostgreSQL 镜像(如果尚未下载),并启动一个容器,其中包含一个名为 postgres、拥有完整超级用户权限的默认用户。

要确认容器是否正常运行,请使用:

# docker ps

在 PostgreSQL 中创建用户 2

该命令会列出所有正在运行的容器,包括您的 PostgreSQL 实例。

第 2 步:通过 psql 访问 PostgreSQL

PostgreSQL 容器启动并运行后,您可以使用 PostgreSQL 内置的交互式终端 psql 连接它。

使用以下命令进入容器内的 psql shell:

# docker exec -it postgres_db psql -U postgres

在 PostgreSQL 中创建用户 3

其中:

  • docker exec 用于在运行中的容器内执行命令。
  • -it 启用交互模式。
  • -U postgres 指定以 postgres 用户身份连接。

进入 PostgreSQL shell 后,您可以使用以下命令列出所有现有角色:

\du

在 PostgreSQL 中创建用户 4

该命令会显示角色(用户)列表及其被分配的权限。

重要提示:PostgreSQL 使用“角色”(role)一词同时指代用户和用户组。角色可以拥有登录权限(类似用户),也可以作为一个组,供其他角色继承权限。从本质上讲,角色是 PostgreSQL 中的访问控制机制。

第 3 步:在 PostgreSQL 中创建新用户(psql create user)

在 PostgreSQL 中,用户其实就是拥有登录权限的角色。您可以使用 CREATE USER 命令创建用户,该命令会自动包含 LOGIN 权限。

例如,创建一个名为 editor 并设置了密码的用户:

CREATE USER editor WITH PASSWORD 'password123';

要确认用户是否添加成功,请运行:

\du

在 PostgreSQL 中创建用户 5

该命令会列出所有角色及其被分配的权限。editor 用户将以默认设置出现在列表中。

第 4 步:授予额外权限

用户创建后,您可以为其分配额外权限。例如,要允许 editor 用户创建新数据库,请运行:

ALTER USER editor CREATEDB;

再次使用 \du 命令,确认 CREATEDB 权限已生效。

在 PostgreSQL 中创建用户 6

第 5 步:切换到新用户

您可以使用以下命令将会话切换为新用户:

SET ROLE editor;

由于该用户现在拥有创建数据库的权限,您可以尝试创建一个数据库:

CREATE DATABASE articles_db;

在 PostgreSQL 中创建用户 7

总结

本教程演示了如何使用 Docker 运行 PostgreSQL 容器、创建新用户(editor)、分配数据库权限,以及使用该角色管理数据库。如需了解更高级的配置,请参阅 PostgreSQL 官方文档。

BlueVPS 在全球 20 个地点提供即时开通的 KVM VPS,确保您的虚拟服务器在几分钟内即可投入使用。无论您部署 Linux 还是 Windows,都可以灵活选择多种控制面板,并通过 KVM 虚拟化获得 100% 独享资源保障。这确保了稳定的性能,并让您的环境完全隔离。

借助便捷的远程访问和控制功能,无论身在何处,管理 VPS 都简单高效。此外,BlueVPS 还提供 7x24 小时客户支持,是开发者、企业和主机爱好者的可靠之选。选择 BlueVPS,在全球范围内获得高性能、安全且即时可用的 VPS 解决方案。

blog