当前位置: 首页 > article >正文

PostgreSQL 用户和数据库创建流程

好的,我将按照一个合理的流程来整理这个操作步骤。整个流程从 PostgreSQL 的登录、用户的创建、配置文件的修改,到数据库和表的创建,下面是详细的步骤:

1. 登录 PostgreSQL 数据库

首先,登录到 PostgreSQL 数据库(这里使用 postgres 用户):

sudo -u postgres 

输入psql进入postgres

psql

2. 创建新用户 devuser

在登录后,创建一个新的数据库用户 devuser。在 PostgreSQL 中可以使用 SQL 语句创建新用户:

CREATE USER devuser WITH PASSWORD 'your_password';

此命令创建了一个用户名为 devuser 的用户,并为其设置了密码 your_password。请根据需要替换密码。

3. 为新用户分配权限

接下来,给 devuser 用户赋予创建数据库的权限,这样他可以创建和管理数据库:

ALTER USER devuser CREATEDB;

4. 创建数据库 devdb

接下来,为 devuser 创建一个新的数据库 devdb

CREATE DATABASE devdb WITH OWNER devuser;

5. 修改 PostgreSQL 配置文件

为了确保新用户可以使用密码进行丝滑登录,你需要编辑 PostgreSQL 的认证配置文件 pg_hba.conf。文件通常位于 /etc/postgresql/{version}/main/pg_hba.conf,也可以通过以下命令找到:

sudo nano /etc/postgresql/{version}/main/pg_hba.conf

在文件中找到如下行:

# 允许 devuser 用户通过密码连接
local   all             postgres                                peer

确保这一行存在,然后再加一行,修改成下面这样

# 允许 devuser 用户通过密码连接
local   all             devuser                                md5

# 允许 postgres 用户直接登录
local   all             postgres                                peer

6. 重启 PostgreSQL 服务

修改 pg_hba.conf 后,重启 PostgreSQL 服务以应用配置更改:

sudo service postgresql restart

7. 登录到 devdb 数据库

现在,配置好后,使用 devuser 用户登录到 devdb 数据库。使用命令:

psql -U devuser -d devdb

系统会提示你输入 devuser 用户的密码。如果连接成功,进入数据库后,显示如下提示:

devdb=>

8. 创建表

现在你已经成功连接到 devdb 数据库,可以开始创建表了。以下是创建 users 表的 SQL 语句:

CREATE TABLE users (
    id SERIAL PRIMARY KEY,           -- 自动递增的用户 ID
    username VARCHAR(255) UNIQUE,    -- 用于唯一标识用户,存储邮箱或手机号
    nickname VARCHAR(255),           -- 用户昵称,可以为空
    email VARCHAR(255) UNIQUE,       -- 邮箱字段,唯一
    phone VARCHAR(20) UNIQUE,        -- 手机号字段,唯一
    password_hash VARCHAR(255),      -- 存储密码的哈希值
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,  -- 用户创建时间
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP   -- 用户更新时间
);

9. 查看表结构

在创建表后,你可以使用 \d 命令查看表结构:

\d users

这将显示你刚才创建的 users 表的详细结构,包括字段、类型和索引等信息。


总结:

  1. 创建数据库用户:你通过 CREATE USER 创建了 devuser 用户,并赋予了创建数据库的权限。
  2. 配置 PostgreSQL 认证方式:修改了 pg_hba.conf 配置文件,以确保 devuser 用户可以通过密码登录。
  3. 创建数据库:你为 devuser 创建了一个新的数据库 devdb
  4. 登录数据库并创建表:成功登录 devdb 数据库并创建了 users 表。


http://www.kler.cn/a/512129.html

相关文章:

  • 麦田物语学习笔记:场景切换淡入淡出和动态UI显示
  • Axios 封装:处理重复调用与内容覆盖问题
  • 3D 模型格式转换之 STP 转 STL 深度解析
  • c++ vector
  • Weblogic - General - 弱口令 任意文件读取漏洞
  • CT重建笔记(三)——共轭梯度法
  • 学技术学英文:通过jmeter命令行工具生成聚合报告文件到csv文件
  • 国自然青年项目|基于多模态影像组学的乳腺癌分子分型预测研究|基金申请·25-01-20
  • 假设与创新ChatGPT提示词分享
  • kafka学习笔记5 PLAIN认证——筑梦之路
  • A股上市公司年报爬虫及关键词词频分析(2004-2023年)
  • c86机器安装nvaid显卡驱动报错:ERROR:Unable to load the kernel module ‘nvidia.ko‘.
  • 淘宝关键词页面爬取绘图进行数据分析
  • JDBCTemplate-模板设计模式和策略模式
  • Jenkins 启动
  • PHP语言的循环实现
  • AnnData对象数据结构解释:n_obs × n_vars
  • ubuntu修改hosts文件使之能下载github的文件
  • WPS数据分析000003
  • H3CNE-15-RIP协议
  • 初识NLP
  • LeetCode 110.平衡二叉树
  • 《Apple Store 上架过包》Guideline 4.3(a) - Design - Spam 解决 4.3 垃圾邮件
  • [c语言日寄]内存初阶:大端字节序和小端字节序
  • leetcode 3097. 或值至少为 K 的最短子数组 II 中等
  • Scade 表达式 - 使用索引的迭代器