PostgreSQL 教程: PostgreSQL 管理

七月 24, 2024

PostgreSQL 管理涵盖最重要的 PostgreSQL 数据库服务器管理活动。

第 1 节. 管理数据库

在本节中,您将学习如何在 PostgreSQL 中管理数据库,包括创建数据库、修改现有数据库特性和删除数据库。

第 2 节. 管理模式

  • 模式 – 介绍模式概念,并解释模式搜索路径在 PostgreSQL 中的工作原理。
  • 创建模式 – 向您展示如何在数据库中创建新模式。
  • 更改模式 – 重命名模式或更改模式的所有者。
  • 删除模式 – 从数据库中删除一个或多个模式及其对象。

第 3 节. 管理表空间

PostgreSQL 表空间允许您控制数据在文件系统中的存储方式。表空间在许多情况下非常有用,例如管理大型表和提高数据库性能。

  • 何时使用表空间? – 了解表空间在 PostgreSQL 中何时有用。
  • 创建表空间 – 向您介绍 PostgreSQL 表空间,并展示如何通过CREATE TABLESPACE语句创建表空间。
  • 更改表空间 – 向您展示如何使用ALTER TABLESPACE语句重命名、更改表空间所有者以及设置表空间参数。
  • 移动表空间 – 了解如何在 PostgreSQL 中移动表空间。
  • 删除表空间 – 了解如何使用DROP TABLESPACE语句删除表空间。
  • 使用临时表空间 – 了解如何使用临时表空间、何时以及为什么使用它。

第 4 节. 角色和权限

PostgreSQL 将帐户表示为角色。可以登录的角色称为登录角色或用户。包含其他角色的角色称为组角色。在本节中,您将学习如何有效地管理角色和组。

  • 创建角色 – 向您介绍角色概念,并展示如何使用CREATE ROLE语句创建角色和组。
  • 授权 – 展示如何向角色授予数据库对象的权限。
  • 撤销权限 – 指导您撤销给角色授予的数据库对象权限。
  • 使用角色和权限进行授权 – 向您介绍如何使用 PostgreSQL 中的角色和权限进行授权。
  • 分配权限 – 展示如何在 PostgreSQL 中分配权限。
  • 更改角色 – 展示如何使用ALTER ROLE语句修改角色属性、重命名角色以及设置配置参数。
  • 删除角色 – 了解如何删除角色,尤其是具有依赖对象的角色。
  • 角色成员资格 – 了解如何创建组角色以更好地管理角色成员资格。
  • 切换角色 – 展示如何使用SET ROLE语句,临时更改数据库会话中的当前角色。
  • CURRENT_USER – 了解如何获取当前登录的用户,并向您展示 current_user 和 session_user之间的区别。
  • 列出用户角色 – 向您展示如何列出 PostgreSQL 服务器上的所有角色。
  • 行级安全性 – 向您展示如何使用行级安全性(RLS),来限制基于条件的查询返回的行。
  • 列级安全性 – 向您展示如何启用列级安全性,来控制对表中各个列的访问。

第 5 节. 安全管理

第 6 节. 备份和恢复数据库

本节向您展示如何使用 PostgreSQL 的各种备份和恢复工具,包括pg_dumppg_dumpallpsqlpg_restorepg_basebackuppgAdmin,来备份和恢复数据库。

第 7 节. 复制技术

复制是实现高可用性的最重要方面之一。数据库服务器上的任何意外故障都可能导致应用程序或业务停机。因此,配置复制是正确的做法,可以确保在发生灾难时可以选择执行故障转移。

第 8 节. PostgreSQL 技巧

  • 重置密码 – 向您展示如何重置忘记的 postgres 用户密码。
  • psql 命令 – 为您提供最常用的 psql 命令,帮助您更快、更有效地从 PostgreSQL 查询数据。
  • 查看表结构 – 获取特定表的信息。
  • 查看数据库 – 列出当前数据库服务器中的所有数据库。
  • 列出表 – 显示当前数据库中的所有表。
  • 移动 pg_wal 目录 – 将存储 WAL 段的 pg_wal 目录,移动到其他磁盘或更快的磁盘。
  • 重置累积的统计信息 – 向您介绍 pg_stat_reset 函数的作用、何时会发生统计信息的重置,以及它对 PostgreSQL 数据库的影响。
  • 检查 PostgreSQL 版本 – 向您介绍在系统上检查 PostgreSQL 版本的各种方法。