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

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

👋 欢迎查阅 Stackhero 文档!

Stackhero 提供全托管的 PostgreSQL 云服务,专为高可靠性与高速度设计:

  • 无限制连接与数据传输,轻松实现弹性扩展。
  • 内置 PgAdmin Web 界面,便于直观管理数据库。
  • 常用扩展已集成,如 PostGISTimescaleDBPgVector
  • 一键简易升级,保障数据库安全与最新状态。
  • 私有专属基础设施,确保高性能与强安全性

只需几分钟,即可开始体验 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”的数据库。