Postgresql - 常用指令
Published in:2023-03-21 | category: Postgresql

PSQL 指令紀錄



連接到 POSTGRESQL 資料庫


su - postgres -c 'psql'

本地使用者連接 POSTGRESQL 資料庫

添加環境變數 才能用 psql 連接


psql -d postgres -U  user 

連接到另一台SERVER上的資料庫


psql -h 172.16.0.223 -U test1 -d testdb

建立使用者

新建立的使用者預設只會繼承 public 角色中所開放的權限,其餘權限都沒有開放


CREATE USER test WITH PASSWORD 'test';

禁止使用者登入


ALTER ROLE username WITH NOLOGIN;

設定使用者test擁有public預設權限 並有讀取、插入、修改、刪除新表的 預設權限


ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO test;

設定使用者test擁有public預設權限 並有使用新sequences的 預設權限


ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE ON SEQUENCES TO test;

把所有角色的 USAGE 權限收回


REVOKE USAGE ON SCHEMA public FROM PUBLIC;

建立資料庫 testdb


CREATE DATABASE testdb;

移除資料庫每個使用者都能登入的權限


REVOKE CONNECT ON DATABASE testdb FROM public;

指定可以登入的使用者 pguser1, pguser2, pgreader


GRANT CONNECT ON DATABASE testdb TO pguser1, pguser2, pgreader;

顯示最大連接數


show max_connections;

查看 alter default privileges 預設權限


\ddp

列出有效的 schema


\dn

查看表結構


\d table_name

列出當前資料庫所有表


\dt

離開


\q

參考:

http://www.enmalvi.com/2022/04/03/postgresql-sql/


Prev:
Postgresql - install postgresql-14.7 on centos7
Next:
Windows - win10 專業版金鑰