2026/3/2 6:35:00
网站建设
项目流程
什么网站可以做特价活动,微信公众号运营大学,想学网络运营怎么开始,安卓开发者网站通过上几篇文章我们讲解了如何安装 PostgreSQL 数据库软件和 pgAdmin4 图形化管理工具。
今天我们继续学习如何通过 pgAdmin4 管理工具图形化创建和管理 PostgreSQL 数据库。
一、PostgreSQL的基本工作方式
在学习如何使用PostgreSQL创建数据库之前#xff0c;我们需要了解一下…通过上几篇文章我们讲解了如何安装 PostgreSQL 数据库软件和 pgAdmin4 图形化管理工具。今天我们继续学习如何通过 pgAdmin4 管理工具图形化创建和管理 PostgreSQL 数据库。一、PostgreSQL的基本工作方式在学习如何使用PostgreSQL创建数据库之前我们需要了解一下它是如何工作的。理解PostgreSQL的基本运行方式可以帮助我们更好地理解后面要介绍的知识。简单来说PostgreSQL采用了一种客户端/服务器C/S模型。这意味着在PostgreSQL中有两种主要角色服务器也称为“后端”这是一个程序负责管理数据库文件接受客户端程序的连接请求并执行客户端指定的操作。 这个服务器程序的名字叫做“postgres”。客户端也称为“前端”程序这些是用户用来告诉数据库执行什么操作的工具。客户端程序可以是各种各样的例如文本工具、图形程序、用于显示网页的Web服务器或者专门的数据库维护工具。有些客户端程序是与PostgreSQL一起提供的而大多数是由用户自己开发的。就像我们使用电脑浏览京东其实是我们的电脑在与互联网上的服务器进行通信一样PostgreSQL的客户端和服务器可以在不同的计算机上运行。它们通过TCP/IP网络进行通信。需要记住的一点是在客户端计算机上可以访问的文件不一定可以在服务器计算机上访问或者它们的位置和名称可能不同。PostgreSQL服务器可以同时处理来自多个客户端的连接。为了实现这一点服务器会为每个连接创建一个新的进程。这样客户端和新进程之间可以直接通信而不必担心被原来的postgres进程打扰。因此主服务器进程将一直运行等待客户端的连接请求与此相反客户端和与之相关联的服务器进程会不断地出现和消失。二、创建数据库要检查客户端是否可以连接到数据库服务器我们可以首先尝试在安装好 PostgreSQL 的服务器上创建一个新数据库。PostgreSQL 服务器可以同时管理一个或多个数据库通常来说每个用户会为不同的项目创建使用各自独立的数据库。如果系统管理员已经为您创建了数据库并告诉您数据库的名称和连接信息那就更好了。为了创建数据库必须先在服务器上运行安装好的 PostgreSQL 服务每个运行 PostgreSQL 服务器的实例都管理着一个或多个数据库。一、图形化创建数据库接下来我们打开电脑端安装好的 pgAdmin4。1、修改界面语言如果有需要可以先将界面语言修改为简体中文以方便后续使用。点击菜单【File】—【Preferences】打开偏好设置。在左侧找到【User Language】右侧点击下拉框选择 【简体中文】然后点击【Save】保存。此时会弹出一个提示框提示需要重新加载 pgAdmin4点击【Refresh】刷新。重新加载 pgAdmin4之后界面已经更换为简体中文。2、连接到 PostgreSQL 数据库服务器。点击菜单【对象】–【注册】–【服务器】。在界面中输入 PostgreSQL 数据库服务器的各项连接信息。【General】–【名称】为连接起一个方便记忆和区分的名称比如PG-Database在【连接】页面输入 PostgreSQL 数据库服务器的IP地址和密码如果使用的不是默认端口【5432】则也需要修改为配置的连接端口。点击保存此时 pgAdmin4 会使用配置的信息尝试连接 PostgreSQL 数据库服务器。连接成功后就会出现以下界面如果连接不成功则需要检查输入的服务器IP地址和密码是否正确客户端电脑和服务器的防火墙设置是否正确。3、创建新的数据库右键单击【数据库】–【创建】–【数据库】。在弹出的【创建数据库】窗口配置新建数据库的各项信息。【数据库】创建数据库的名称必须填写。【OID】: 在新版本的PostgreSQL中可以忽略。【所有者】默认为postgres系统用户学习阶段保持默认即可。【注释】可以备注所创建的数据库的用途。补充了解冷知识【OID】在 PostgreSQL 数据库中OIDObjectIdentifier对象标识符是一种唯一标识数据库中的对象通常是表中的行的整数标识符。OID在过去用于唯一标识表中的行但从 PostgreSQL 12 版本开始默认情况下已不再使用OID列作为表的隐藏列。OID列不再被自动创建因此我们在创建表时不会看到它。如果我们在使用 pgAdmin 4 创建 PostgreSQL 数据库时看到一个选项或设置涉及OID那是因为我们可以选择是否要在特定表中启用或禁用OID列。在新版本的 PostgreSQL中不再需要使用OID而且它已不再是默认行为。大多数用户不再使用OID列因为它会增加存储和维护的开销而且通常没有必要。如果我们不确定是否需要启用OID列通常情况下可以不必担心它。在pgAdmin4中我们可以在创建表时选择是否包括OID列但如果不明确需要它建议将其保持禁用。如果您有特定的用途需要使用OID列那么可以启用它。但要注意需要小心处理OID列以避免潜在的性能和管理问题。在【定义】页面中我们可以设置数据库的字符集编码、模板、表空间和连接数限制等设定数据库参数初学阶段我们可以不选择采用系统默认就好。【连接限制】最大连接数限制默认为 -1 表示可以无限制连接如果需要限制连接数可以输入一个正整数比如【300】。在【安全】页面中是可视化完成grant授权命令的地方一般用不到。在我们真实的工作场景中数据库权限是由公司数据库管理员【DBA】来统一设置和管理的开发人员一般不能设置。我们这里作为学习和演示就使用 postgres 账户给public账户授权【ALL】了。在【参数】页面中可以设置具体的数据库参数。在这里我们设置了一个参数 “application_name” 的值为 “Default” 当然也可以不设置。补充了解冷知识 在 pgAdmin 4 中设置 “application_name” 参数为 “Default” 是为了指定PostgreSQL 客户端连接的应用程序名称。这是一种在数据库中标识连接的方式可以帮助我们更容易地识别不同的数据库连接来源。当我们设置 “application_name” 为 “Default” 时这意味着我们希望将当前的数据库连接标识为默认应用程序通常这是指使用 pgAdmin 4 连接到 PostgreSQL 数据库的客户端。这对于数据库日志和性能分析非常有用因为它可以让我们清晰地知道哪个应用程序或工具创建了特定的数据库连接。通过设置 “application_name” 参数我们可以为不同的客户端应用程序或连接创建不同的名称使数据库管理员能够更容易地识别和跟踪各个连接的来源。这对于调试和监视数据库非常有用尤其是在具有多个客户端应用程序的环境中。设置 “application_name” 主要是为了更好地管理和跟踪连接以区分不同应用程序或客户端的连接。这对于具有多个应用程序同时连接到数据库的环境中特别有用。如果我们只使用一个应用程序或工具与数据库连接而不需要特定的标识那么也可以不设置 “application_name”因为默认值通常足够了。除非有特殊需求【高级】页面一般不用设置。在【SQL】页面中可以查看创建数据库时所执行的SQL语句其中包含了之前的所有设置。其实创建数据库的过程就是在PostgreSQL 服务器中逐条执行【SQL】页面中的所有建库SQL语句的过程。如果检查相关创建选项后没有问题点击 “保存” 开始执行 SQL 语句并创建数据库。在 pgAdmin 4 中在【SQL】页面中查看即将执行的 SQL 语句是一种非常有用的功能。这可以让我们查看并审查创建数据库时将执行的 SQL 语句以确保所有参数和设置符合我们的需求。Tips一般来说我们可以按照以下步骤在 pgAdmin 4 中查看创建数据库时的 SQL 语句打开 pgAdmin 4 并连接到我们的 PostgreSQL 服务器。在左侧的“对象”资源树中展开 “Databases”数据库然后右键单击 “Create”创建并选择 “Database”数据库以打开数据库创建对话框。在对话框中填写数据库的各种参数和设置如名称、所有者、字符集、连接限制等。在对话框的底部您会看到一个选项卡或标签栏通常称为 “SQL” 或 “SQL Pane”在这里您可以查看即将执行的 SQL 语句。预览 SQL 语句并确保它们与您的预期相符。我们可以在这里检查和自定义 SQL 语句。如果一切都符合要求点击 “OK” 或 “Save” 以执行 SQL 语句并创建数据库。这个功能使我们能够了解和控制数据库创建过程中的每个细节以确保数据库是按照我们的要求创建的这对于数据库管理和维护非常有用。点击“保存”后就可以看到数据库已经创建好了。二、使用SQL命令创建数据库除了使用可视化工具如 pgAdmin 4来创建数据库我们还可以使用 SQL 命令来创建数据库。在 PostgreSQL 中我们可以使用CREATE DATABASE语句来执行此操作。以下是一个基本的示例CREATE DATABASE mydatabase;这将创建一个名为 “mydatabase” 的新数据库。我们可以将 “mydatabase” 替换为我们希望创建的数据库的名称。还可以使用其他选项来指定数据库的字符集、所有者和其他属性。例如如果我们想创建一个指定字符集和所有者的数据库可以这样做CREATE DATABASE pgtest WITH OWNER postgres ENCODING UTF8;这将创建一个名为 “pgtest” 的数据库将其所有者设置为 “postgres”字符集设置为 UTF-8。点击【工具】–【查询工具】可以看到在右侧出现一个查询窗口这就是输入 SQL 指令的地方。将上面的 CREATE DATABASE 语句复制粘贴到 SQL窗口。点击“执行”按钮或按F5执行刚才输入的SQL语句。查看底部 “消息” 窗口显示数据库已经创建成功。“CREATE DATABASE 耗时49 毫秒 成功返回查询。”点击右键刷新数据库列表就可以看到刚创建的 “pgtest” 的数据库了。可以在右侧窗口查看和编辑数据库的相关属性。使用 SQL 命令创建数据库可以提供更多的控制和定制选项适用于自动化和批量操作。不过我们需要确保具有适当的数据库创建权限才能执行这些命令。在使用 SQL 命令创建数据库时我们也可以使用相同的方法来查看创建数据库的 SQL 语句以便进行记录或调试。三、删除数据库如果在实际工作中一个数据库不再需要使用或者需要删除处理我们可以使用 pgAdmin 4 进行可视化删除数据库或者使用 SQL 命令来删除数据库。3.1、在 pgAdmin 4 中可视化删除数据库打开 pgAdmin 4 并连接到您的 PostgreSQL 服务器。在左侧的“对象”资源树中展开 “Databases”数据库。找到要删除的数据库右键单击它然后选择 “Delete/Drop”删除/丢弃。在确认对话框中确认您要删除数据库并点击 “OK”。这将使用可视化界面删除数据库。Tips在 pgAdmin 4 中删除数据库时有两个选项可供选择删除Drop和删除强制Drop (Cascade)。这两者之间存在重要区别删除Drop这是一种常规的数据库删除操作。当我们选择删除数据库时pgAdmin 4会尝试删除数据库但只有在没有其他数据库对象如表、视图、函数等依赖于要删除的数据库时才能成功删除。如果存在与该数据库相关的依赖项删除操作将失败并且数据库将保持不变。删除强制Drop (Cascade)这是一种强制删除操作。当我们选择强制删除数据库时pgAdmin 4会尝试删除数据库并在删除之前会递归删除所有与该数据库相关的依赖项例如表、视图、函数等。这意味着如果有其他数据库对象依赖于要删除的数据库它们也将被删除以便删除整个数据库。区别在于“删除Drop” 尝试删除数据库但会保留关联的依赖项而 “删除强制Drop (Cascade)” 尝试删除数据库并删除所有相关依赖项。选择哪种方法取决于您的需求和意图如果我们希望仅删除数据库但保留与其相关的其他对象可以选择 “删除Drop”。如果我们希望删除数据库以及与其相关的所有对象可以选择 “删除强制Drop (Cascade)”。请注意在进行强制删除操作时需要格外小心因为它会永久删除所有相关对象而不仅仅是数据库本身。确保在执行强制删除之前您已经备份了重要的数据和对象以免不必要的数据丢失。3.2、使用 SQL 命令删除数据库在 SQL 中使用DROP DATABASE语句来删除数据库。以下是一个示例DROP DATABASE pgtest;这将删除名为 “pgtest” 的数据库。为确保谨慎操作建议在删除之前先对将要删除的数据库进行备份操作因为删除数据库将永久丢失数据库中的所有数据。无论您使用哪种方法都需要适当的权限来执行删除操作。为保护数据安全或防止意外丢失数据实际工作中只有超级用户或具有数据库删除权限的用户比如数据库管理员DBA才能执行此操作。总之您可以使用 pgAdmin 4 进行可视化删除数据库也可以使用 SQL 命令来删除数据库具体取决于您的需求和偏好。