PostgreSQL或 Postgres 是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),它提供SQL查詢語言的實現(xiàn)。它符合標準并具有許多高級功能,例如可靠的事務(wù)處理和沒有讀鎖的并發(fā)性。
本指南演示了如何在 Ubuntu 20.04 服務(wù)器上快速啟動和運行 Postgres,從安裝 PostgreSQL 到設(shè)置新用戶和數(shù)據(jù)庫。
第 1 步 — 安裝 PostgreSQL
要安裝 PostgreSQL,首先刷新服務(wù)器的本地包索引:
sudo apt update
然后,安裝 Postgres 包以及一個-contrib添加了一些額外實用程序和功能的包:
sudo apt install postgresql postgresql-contrib
確保服務(wù)已啟動:
sudo systemctl start postgresql.service
第 2 步 — 使用 PostgreSQL 角色和數(shù)據(jù)庫
默認情況下,Postgres 使用稱為“角色”的概念來處理身份驗證和授權(quán)。在某些方面,這些類似于常規(guī)的 Unix 風(fēng)格的用戶和組。
安裝后,Postgres 設(shè)置為使用身份驗證,這意味著它將 Postgres 角色與匹配的 Unix/Linux 系統(tǒng)帳戶相關(guān)聯(lián)。如果 Postgres 中存在角色,則具有相同名稱的 Unix/Linux 用戶名可以作為該角色登錄。
安裝過程創(chuàng)建了一個名為postgres的用戶帳戶,該帳戶與默認的 Postgres 角色相關(guān)聯(lián)。有幾種方法可以利用此帳戶訪問 Postgres。一種方法是通過運行以下命令切換到服務(wù)器上的postgres帳戶:
sudo -i -u postgres
然后您可以通過運行以下命令訪問 Postgres 提示符:
psql
這將使您登錄到 PostgreSQL 提示符,從這里您可以立即自由地與數(shù)據(jù)庫管理系統(tǒng)進行交互。
要退出 PostgreSQL 提示符,請運行以下命令:
\q
這將使您返回到postgres Linux 命令提示符。要返回到您的常規(guī)系統(tǒng)用戶,請運行以下exit命令:
exit
連接到 Postgres 提示符的另一種方法是直接使用postgrespsql帳戶運行命令:sudo
sudo -u postgres psql
這將使您直接登錄到 Postgres,而無需中間bashshell。
同樣,您可以通過運行以下命令退出交互式 Postgres 會話:
\q
第 3 步 — 創(chuàng)建新角色
如果您以postgres帳戶登錄,則可以通過運行以下命令來創(chuàng)建新角色:
createuser --interactive
相反,如果您更喜歡在sudo不從普通帳戶切換的情況下使用每個命令,請運行:
sudo -u postgres createuser --interactive
無論哪種方式,腳本都會提示您做出一些選擇,并根據(jù)您的回答執(zhí)行正確的 Postgres 命令以創(chuàng)建符合您規(guī)范的用戶。
Output
Enter name of role to add: sammy
Shall the new role be a superuser? (y/n) y
第 4 步 — 創(chuàng)建新數(shù)據(jù)庫
Postgres 身份驗證系統(tǒng)默認做出的另一個假設(shè)是,對于用于登錄的任何角色,該角色將擁有一個它可以訪問的同名數(shù)據(jù)庫。
這意味著如果您在上一節(jié)中創(chuàng)建的用戶名為sammy,則該角色將嘗試連接到默認情況下也稱為“sammy”的數(shù)據(jù)庫。您可以使用命令創(chuàng)建適當(dāng)?shù)臄?shù)據(jù)庫createdb。
如果您以postgres帳戶登錄,您將鍵入如下內(nèi)容:
createdb sammy
相反,如果您更喜歡在sudo不從普通帳戶切換的情況下使用每個命令,則可以運行:
sudo -u postgres createdb sammy
第 5 步 — 使用新角色打開 Postgres 提示符
要使用基于身份驗證登錄ident,您需要一個與您的 Postgres 角色和數(shù)據(jù)庫同名的 Linux 用戶。
如果沒有可用的匹配 Linux 用戶,可以使用命令創(chuàng)建一個adduser。您必須從具有權(quán)限的非root帳戶執(zhí)行此操作(意思是,不是以postgressudo用戶身份登錄):
sudo adduser sammy
一旦這個新帳戶可用,您可以通過運行以下命令切換并連接到數(shù)據(jù)庫:
sudo -i -u sammy
psql
或者,您可以內(nèi)聯(lián)執(zhí)行此操作:
sudo -u sammy psql
假設(shè)所有組件都已正確配置,此命令將自動讓您登錄。
如果您希望您的用戶連接到不同的數(shù)據(jù)庫,您可以通過如下指定數(shù)據(jù)庫來實現(xiàn):
psql -d postgres
登錄后,您可以通過運行以下命令檢查當(dāng)前的連接信息:
\conninfo
Output
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".
原文鏈接:
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。