如何在 PostgreSQL

⚡ 智能摘要

PostgreSQL 创建数据库操作允许您使用 psql 命令行 shell 或 pgAdmin 图形工具来构建新数据库。CREATE DATABASE 语句还接受所有者、模板、编码、排序规则、表空间和连接限制等选项。

  • 💻 命令行: 打开 SQL Shell (psql),连接到服务器,然后运行 ​​CREATE DATABASE 创建一个新数据库。
  • 🖱️ pgAdmin 图形用户界面: 在对象树中右键单击“数据库”,选择“创建”,命名数据库,然后以可视方式保存。
  • 📝 基本语法: 最简命令是 CREATE DATABASE databasename,它会使用默认设置创建一个数据库。
  • ⚙️ 完整选项: OWNER、TEMPLATE、ENCODING、LC_COLLATE、LC_CTYPE、TABLESPACE 和 CONNECTION LIMIT 用于自定义新数据库。
  • ???? 连接并验证: 使用 \l 列出数据库,使用 \c 数据库名 连接到您创建的数据库。
  • ⚠️ 常见错误: 注意检查是否存在 createdb 未找到、服务器未运行、缺少角色和权限被拒绝等错误。

如何在 PostgreSQL

创建数据库的语法 PostgreSQL is

CREATE DATABASE databasename

让我们学习设置 PostgreSQL 以及如何在 PostgreSQL 命令行和 GUI

PSQL 创建数据库命令行(SQL Shell)

步骤1) 打开 SQL Shell

PSQL创建数据库命令行

步骤2) 按五次 Enter 键连接到数据库

PSQL创建数据库命令行

步骤3) 输入命令

CREATE DATABASE guru99;

PSQL创建数据库命令行

步骤4) 输入命令 \l 获取所有数据库的列表

PSQL创建数据库命令行

步骤5) 连接到数据库使用 PostgreSQL 数据库命令

\c guru99

PSQL创建数据库命令行

提示符变为 guru99,表示我们已连接到数据库 guru99,并且可以执行创建表、触发器、执行等操作 SQL 就可以了。

PostgreSQL 使用 pgAdmin 创建数据库

步骤1) 在对象树中,右键单击并选择创建数据库到Postgres创建数据库

PostgreSQL 使用 pgAdmin 创建数据库

步骤2) 在弹出窗口中,

  1. 输入数据库名称
  2. 如果有数据库请进行评论 – 可选
  3. 单击“保存”

PostgreSQL 使用 pgAdmin 创建数据库

步骤3) DB 已创建并显示在对象树中。

PostgreSQL 使用 pgAdmin 创建数据库

步骤4) 右侧窗格提供用于创建数据库的 SQL。

PostgreSQL 使用 pgAdmin 创建数据库

创建数据库的完整语法

这是创建数据库的完整语法 PostgreSQL

CREATE DATABASE db_name
OWNER =  role_name
TEMPLATE = template
ENCODING = encoding
LC_COLLATE = collate
LC_CTYPE = ctype
TABLESPACE = tablespace_name
CONNECTION LIMIT = max_concurrent_connection
附加选项 描述
数据库名称 使用此选项指定要创建的新数据库的名称。不过,您需要确保 数据库 必须是唯一的,因为如果您尝试创建与现有数据库同名的新数据库, PostgreSQL 将显示错误。
角色名称 使用此参数定义将拥有新数据库的用户的角色名称。默认值为 postgres
版型 您可以指定要创建新数据库的数据库模板名称。
喷码 此参数允许指定新数据库的字符集编码。默认为 UTF8
整理 collat​​ion 参数指定使用 SELECT 语句时影响 ORDER BY 子句结果的字符串的排序顺序。
类型 它指定新数据库的字符分类。它会影响分类,例如数字、小写和大写。
表空间名称 使用此选项可以指定新数据库的表空间名称。默认为模板数据库的表空间。
最大并发连接数 使用此选项指定新数据库的最大并发连接数。默认值为 -1,即无限制。

使用 createdb 命令时的常见错误

误差 描述
未找到 createdb 命令。 这种错误可能发生在 PostgreSQL 未正确安装。此时,您需要从您的 PostgreSQL 安装路径.
服务器中没有这样的文件在本地运行并且接受 Unix 域套接字上的连接。 发生此错误时 PostgreSQL 服务器未正确启动,或者未在 createdb 命令要求其启动的位置启动。
严重错误:角色“用户名称”不存在 如果出现此错误 PostgreSQL 创建与系统用户帐户不同的用户帐户。
拒绝创建数据库的权限 如果 PostgreSQL 创建的账户没有创建数据库的权限,这种情况下需要授予关联用户访问create命令的权限。

常见问题

PostgreSQL 安装过程中默认会创建一个名为 postgres 的数据库。它作为工具和超级用户的默认连接目标,并在您创建自己的数据库之前用作工作区。

使用 ALTER DATABASE 命令,例如 ALTER DATABASE oldname RENAME TO newname。您必须连接到不同的数据库,并且不能有其他会话正在使用您要重命名的数据库。

模板数据库是一种模型, PostgreSQL 创建新数据库时会创建副本。template1 是默认模板,因此添加到其中的任何对象都会出现在每个新数据库中。template0 是一个干净的、不可修改的副本。

AI 可以根据简单的描述生成完整的 CREATE DATABASE 语句,并正确填写所有者、编码和排序规则选项。它还会解释每个子句,提供帮助。ping 初学者应避免语法和配置错误。

是的。人工智能可以读取诸如“权限被拒绝”或“角色不存在”之类的错误,解释原因,并建议解决问题所需的确切 GRANT 或角色命令,从而快速解决问题。

总结一下这篇文章: