PostgreSQL 使用者權限

在這篇教學中,我將解釋如何在 PostgreSQL 中管理使用者和權限。 在 PostgreSQL 中,一切都是圍繞著「角色(role)」的概念建立的。 在 macOS 安裝 PostgreSQL 時,安裝腳本會根據你的 macOS 使用者名稱建立一個角色,並且賦予一組權限。 在 PostgreSQL 中沒有使用者,只有角色。 透過在終端機中執行 psql postgres 命令,你會使用你的 macOS 使用者名稱自動登入 PostgreSQL,從而訪問被建立的角色。 在我的情況下,一個名為 flaviocopes 的角色已被建立,你可以使用 \du 命令來查看: 看到了嗎?我預設擁有以下的角色屬性: Superuser Create role Create DB Replication Bypass RLS 而且,我不屬於任何其他角色(稍後會講到這個)。 建立新角色 可以使用 CREATE ROLE 命令來創建新的角色: CREATE ROLE <role>; 例如: CREATE ROLE testing; 我們創建了一個新的角色,預設帶有 Cannot login 角色屬性。我們新建的使用者將無法登入。 你可以嘗試輸入 \q 命令退出,然後使用 psql postgres -U testing 命令,但你會看到以下錯誤: 為了解決此問題,我們需要在創建時加上 LOGIN 角色屬性: CREATE ROLE <role> WITH LOGIN; 如果我們刪除該角色:...