PostgreSQL創建角色,並把資料庫賦給角色
- 2019 年 12 月 25 日
- 筆記
目前位於資料庫postgres下。創建tom用戶。對於PostgreSQL,用戶tom相當於是一種role(角色):
CREATE USER tom WITH PASSWORD '123456'; 1 注意:
語句要以分號結尾。 密碼要用單引號括起來。 若修改用戶名的密碼,將CREATE修改為ALTER。 創建資料庫,如demo:
CREATE DATABASE demo OWNER tom; 1 將demo資料庫的所有許可權都賦予tom用戶:
GRANT ALL PRIVILEGES ON DATABASE demo TO tom; 1 查看資料庫的所有者:
l [database] 1 修改資料庫的所有者,將資料庫demo的所有者變為用戶testdbuser:
ALTER DATABASE demo OWNER TO testdbuser; 1 三、遠程登陸 修改PostgreSQL的配置文件:
1. postgresql.conf vim /var/lib/pgsql/9.6/data/postgresql.conf 1 修改listen_addresses為*,如下圖所示:
2. pg_hba.conf vim /var/lib/pgsql/9.6/data/pg_hba.conf 1 將host all all 0.0.0.0/0 md5添加到文件中,代表所有的用戶通過任意ip都可以通過md5(密碼)的方式登陸PostgreSQL。如下圖所示:
3. 重啟PostgreSQL服務 systemctl restart postgresql-9.6.service 1 4. 通過Navicat連接 連接的資料庫選擇剛創建的demo 用戶名選擇剛創建的用戶tom 對應的密碼為123456
轉換為sql語句就是:
[root@node73 data]# psql -U tom -d demo -h 10.6.6.71 -p 5432 Password for user tom: 1 2 命令行的各個參數解釋說明:
-U username 用戶名,默認值postgres -d dbname 要連接的資料庫名,默認值postgres。如果單指定-U,沒指定-d參數,則默認訪問與用戶名名稱相同的資料庫。 -h hostname 主機名,默認值localhost -p port 埠號,默認值5432 四、本地登陸 [root@node72 data]# psql -U tom -d demo -p 5432 psql: FATAL: Peer authentication failed for user "tom" 1 2 PostgreSQL登陸默認是peer,不需要驗證用戶密碼即可進入postgresql相關資料庫,但前提是必須切換用戶登陸。類似於最開始執行的su postgres;psql一樣。