如果不常使用PostgreSQL,有時連基本命令都會忘記。為此,我整理了PostgreSQL設定和管理中常用的主要命令。希望這個指南能成為您再次使用PostgreSQL時快速參考的有用資料。


1. 連接PostgreSQL

要使用PostgreSQL的命令,首先需要連接到數據庫。以基本管理帳戶postgres用戶連接的方法如下。

sudo -u postgres psql

輸入此命令後,您將進入PostgreSQL Shell,可以執行各種SQL命令。


2. 創建數據庫

當您想要創建新的數據庫時,可以使用以下命令:

CREATE DATABASE database_name;

在這裡,database_name是要創建的數據庫的名稱,請根據需要進行替換。


3. 創建用戶

在PostgreSQL中,可以給每個用戶分配個別權限。創建新用戶並設置密碼的方法如下。

CREATE USER user_name WITH PASSWORD 'password';

在這裡,user_name'password'請根據您的需求更改為所需的用戶名和密碼。


4. 給用戶授予數據庫權限

若要將對數據庫的訪問權限授予特定用戶,可以使用以下命令。

GRANT ALL PRIVILEGES ON DATABASE database_name TO user_name;

如果只想授予特定權限,可以用SELECTINSERTUPDATE等特定權限替代ALL PRIVILEGES


5. 檢查數據庫列表

要查看伺服器上存在的所有數據庫,可以使用以下命令:

\l

此命令在PostgreSQL Shell中使用,將輸出當前伺服器的數據庫列表。


6. 檢查用戶列表

要查看在PostgreSQL中創建的所有用戶,請使用以下命令:

\du

7. 連接到特定數據庫

當您想要切換到其他數據庫時,可以使用以下命令進行連接:

\c database_name

請將database_name替換為您要連接的數據庫名稱。


8. 查看表列表

要查看當前連接的數據庫中的所有表,可以使用以下命令:

\dt

此命令可快速查看當前數據庫的表列表。


9. 刪除數據庫

要刪除不再需要的數據庫,請使用以下命令:

DROP DATABASE database_name;

注意:此命令將永久刪除數據庫及其所有數據,請謹慎使用。


10. 刪除用戶

要刪除不再需要的用戶,可以輸入如下命令:

DROP USER user_name;

11. 授予特定表的權限

要給用戶授予特定表的權限,可以使用以下命令。

GRANT SELECT, INSERT, UPDATE, DELETE ON table_name TO user_name;

在這裡,table_name是要授予權限的表名。


12. 授予超級用戶權限

若要給特定用戶授予超級用戶權限,可以使用以下命令:

ALTER USER user_name WITH SUPERUSER;

通過此命令可以將用戶設置為擁有數據庫所有權限的超級用戶。


13. 更改用戶密碼

要更改現有用戶的密碼,請使用以下命令:

ALTER USER user_name WITH PASSWORD 'new_password';

14. 控制PostgreSQL服務

PostgreSQL服務可以在伺服器上啟動、停止和重啟。以下命令在管理PostgreSQL服務時非常有用。

# 啟動服務
sudo systemctl start postgresql

# 停止服務
sudo systemctl stop postgresql

# 重啟服務
sudo systemctl restart postgresql

15. 數據庫備份與恢復

備份或恢復數據庫時,可以使用pg_dumppg_restore命令。

  • 備份:
    pg_dump -U user_name -W -F t database_name > backup_file.tar
  • 恢復:
    pg_restore -U user_name -W -d database_name backup_file.tar

通過備份文件,可以輕鬆恢復數據庫,為突發情況做好準備。

PostgreSQL命令列表

只要記住這些命令,就能更輕鬆地進行PostgreSQL的設置和管理。隨時參考這個列表以快速完成工作。