PostgreSQL: 在PostgreSQL中创建用户和数据库

本文档属于入门指南指南的一部分。您可以在此处查看完整指南:如何开始使用PostgreSQL

👋 欢迎使用 Stackhero 文档!

Stackhero 提供即用型 PostgreSQL 云 解决方案,具有多种优势,包括:

  • 无限连接和数据传输。
  • 包含 PgAdmin 网页界面。
  • 包含许多 模块,如 PostGISTimescaleDBPgVector
  • 只需点击即可轻松完成 更新
  • 专用私有 VM 提供的最佳 性能 和强大 安全性

节省时间简化生活:只需 5 分钟 即可试用 Stackhero 的 PostgreSQL 云托管 解决方案!

默认情况下,会创建一个具有管理权限的admin用户。为您计划托管的每个项目创建一个专用用户和数据库是一个好习惯。

要使用PgAdmin网页界面,请使用HTTPS打开您的PostgreSQL域(例如,https://<XXXXXX>.stackhero-network.com)。使用admin作为用户名和您在服务配置中设置的密码登录(在您的Stackhero仪表板中可见)。

  1. 进入Servers / PostgreSQL,右键点击Login/Group Roles,选择Create / Login/Group Role

    使用PgAdmin在PostgreSQL中创建用户使用PgAdmin在PostgreSQL中创建用户

  2. 设置登录名:

    定义用户登录定义用户登录

  3. 设置一个安全的密码以避免暴力攻击:

    定义用户密码定义用户密码

  4. 最后,确保只选择了“Can login”权限:

    定义用户权限定义用户权限

点击“Save”按钮创建您的用户。

  1. 进入Servers / postgresql,右键点击Databases,选择Create / Database...

    使用PgAdmin创建数据库使用PgAdmin创建数据库

一个好的做法是为数据库和用户使用相同的名称。例如,如果您的项目名为“superWebsite”,请考虑创建一个名为“superWebsite”的用户和一个名为“superWebsite”的数据库。

  1. 设置数据库名称并选择所有者(您刚创建的用户):

    定义数据库名称和所有者定义数据库名称和所有者

您的数据库现在已创建。

要使用psql命令行工具在PostgreSQL上创建用户,请运行以下SQL查询:

CREATE ROLE "myProject" WITH
  LOGIN
  NOSUPERUSER
  NOCREATEDB
  NOCREATEROLE
  NOINHERIT
  NOREPLICATION
  CONNECTION LIMIT -1
  PASSWORD 'secretPassword';

别忘了将myProject替换为您的项目名称,并将secretPassword替换为安全密码。 另外,使用您的项目名称作为登录名和数据库名也是一个好习惯。如果您的项目名为“superWebsite”,请考虑创建一个名为“superWebsite”的用户和一个名为“superWebsite”的数据库。

您可以使用以下命令行生成一个安全密码:openssl rand -base64 24 | tr -d '\n' | cut -c1-32

要使用psql命令行工具在PostgreSQL上创建数据库,请运行以下SQL查询:

CREATE DATABASE "myProject"
  WITH
  OWNER = "myProject"
  ENCODING = 'UTF8'
  CONNECTION LIMIT = -1
  IS_TEMPLATE = false;

一个好的做法是为数据库和用户使用相同的名称。例如,如果您的项目名为“superWebsite”,请考虑创建一个名为“superWebsite”的用户和一个名为“superWebsite”的数据库。