Postgresql 中新增用户、数据库和授权

  1. 1. 创建用户
  2. 2. 创建数据库
  3. 3. 给用户设置密码
  4. 4. 给用户授权数据库权限
  • 使用 psql 完成以上操作
  • 本文介绍如何快速在 PostgreSQL 中新建 DB 和用户并完成授权,简要如下,详细说明请看详情页。

    TL;DR

    1
    2
    3
    4
    sudo -u postgres psql
    postgres=# create database mydb;
    postgres=# create user myuser with encrypted password 'mypass';
    postgres=# grant all privileges on database mydb to myuser;

    PGSQL 非常好的一个是自带了 createusercreatedb 这样的一些二进制工具类,所以我们可以直接使用这些工具完成以上操作,而不用写 SQL。

    Postres 的默认配置是自动创建一个 postgres 用户,该用户有完全的 superadmin 超管权限,可以管理系统中整个 PostgreSQL 实例。

    1
    $ sudo -u postgres psql

    上面的命令可以以超管权限进入 psql 命令行交互界面。下面的命令中,<> 中间的是需要你自定义的内容(省略掉 <>)。

    创建用户

    script
    1
    $ sudo -u postgres createuser <username>

    创建数据库

    1
    $ sudo -u postgres createdb <dbname>

    给用户设置密码

    1
    2
    $ sudo -u postgres psql
    psql=# alter user <username> with encrypted password '<password>';

    给用户授权数据库权限

    1
    psql=# grant all privileges on database <dbname> to <username> ;

    完成以上操作既可使用新建的用户访问该新建的数据库了。

    使用 psql 完成以上操作

    你的系统里可能没有 createusercreatedb 命令,或者因为某种原因需要使用纯 psql 来完成。以下是实现这个功能的神奇命令:

    1
    2
    3
    CREATE DATABASE yourdbname;
    CREATE USER youruser WITH ENCRYPTED PASSWORD 'yourpass';
    GRANT ALL PRIVILEGES ON DATABASE yourdbname TO youruser;

    本文内容翻译自:https://medium.com/coding-blocks/creating-user-database-and-adding-access-on-postgresql-8bfcd2f4a91e