[PSQL] PostgreSQL CLI
- postgreSQL @ official documentation
- PostgreSQL Tutorial
TL;DR
在 Terminal bash 中:
psql -l # 列出所有 database
psql -U aaronchen minicare_demo # 以 aaronchen 的 role 登入 minicare_demo 這個 database
createuser pjchender # createuser 建立使用者
createdb <database-name> -O pjchender -E utf8 # createdb 建立 database
dropdb aaronchen
在 PSQL IRB 中:
# help
\? # 顯示和 psql IRB 有關的指令說明
\h # 顯示和 sql 有關的指令說明
# 資料庫與資料表資訊
\du # 列出所有 roles
\l # 列出所有 databases
\z # 列出所有 tables
# 連線資訊
\c [db_name] # 連線到另一個資料庫
\conninfo # 連線資訊
\password [username] # 修改某 username 的密碼
psql 指令
psql 完整指令 @ postgresql documentation
登入 psql
psql [dbname]
psql -U [role] [dbname] # 以 postgres 的 role 登入 postgres 的 database
psql -U postgres # 使用 postgres 的 role 登入 的 postgres 這個 database
psql -U aaronchen minicare_demo # 以 aaronchen 的 role 登入 minicare_demo 這個 database
psql -U postgres -d minicare_demo # 以 postgres 的 role 登入 minicare_demo 這個 database
可以使用的參數
# options for psql
-l # --list,列出所有 database
# 登入相關
-d dbname # --dbname=dbname
-h host # --host=host
-p # --port=port
-U username # --username=username
-w # --no-password
-W # --password
# 其他
-V # --version,顯示 psql 的版本
-a # --echo-all
-e # --echo-queries
# 設定環境變數
-v assignment
--set=assignment
--variable=assignment
# 幫助
-?
--help[=topic]
登入 psql 介面後
SQL
登入 psql 後可以直接撰寫 SQL,可以換行輸入 SQL,唯有收到 ;
時才會開始執行。
psql [dbname]
CREATE DATABASE [new_dbname] # 建立 minicare_demo 這個 database
\c [new_dbname]