如何在Ubuntu 18.04安裝PostgreSQL伺服器?

目的

PostgreSQL作為一個全球支持的開源資料庫,擁有超過30年歷史,得益於各種可用的插件,它以健壯性、可伸縮性和性能而聞名。
首先,如果要完成PostgreSQL的安裝與使用,需要通過SSH連接連接到伺服器,您可以通過有關教程進行連接。若是本地伺服器,則進入下一步,打開伺服器的終端。

PostgreSQL安裝

要繼續安裝PostgreSQL,請使用apt包管理器。確保更新緩存:

$ sudo apt update && sudo apt install postgresql postgresql-contrib

使用systemctl start命令確保伺服器正在運行:

sudo systemctl start postgresql.service

驗證安裝

現在你已經完成了Ubuntu上Postgres的安裝,各項服務將自動啟動。作為第一步,通過用psql連接到PostgreSQL資料庫來驗證安裝。
psql是一個命令行工具,用來與PostgreSQL伺服器交互。這將輸出伺服器的版本。

sudo -u postgres psql -c "SELECT version();"

要以postgre用戶的身份登錄PostgreSQL,你可以使用psql。可以按照下面的方式進行:

sudo su – postgres

要使用PostgreSQL,請輸入:

psql

它將授予你對PostgreSQL實例的訪問權。如果要退出,可以使用:

\q

管理用戶和權限

如前所述,PostgreSQL假設其服務中存在的每個用戶也存在於系統中。為了創建一個新的用戶,首先通過adduser把它添加到系統中。

$ sudo adduser tutorial


在下面的例子中,正在創建一個名為 “tutorial “的用戶,沒有指定其他信息。一旦完成,就可以創建PostgreSQL用戶。首先用postgres用戶登錄。

$ sudo -i -u postgres
$ createuser --interactive


創建完用戶後,設置一個密碼,通過超級用戶postgres登錄,並改變你剛剛創建的用戶。

$ psql postgres=# ALTER USER tutorial PASSWORD 'password'; ALTER ROLE;

也可以通過運行該命令為新創建的用戶創建一個資料庫。

$ createdb tutorial

完成後,退出並嘗試用新創建的用戶登錄。

$ sudo -i -u tutorial

啟用對外部客戶的訪問

在某些情況下,可能需要允許外部客戶(例如你的機器)訪問伺服器上的一個或多個資料庫。通常情況下,PostgreSQL不被配置為接受非本地的連接,所以要修改一些配置文件。
第一個要修改的文件是主配置文件,在

/etc/postgresql/10/main/postgresql.conf.

請確保編輯

listen_addresses = 'localhost'

和:

listen_addresses = '*'

通過這種方式,你通知PostgreSQL期望從任何網絡接口進入的連接。
請確保保存你的修改,繼續編輯/etc/postgresql/10/main/pg_hba.conf中管理伺服器訪問規則的文件,添加以下一行。

host    tutorial        tutorial 0.0.0.0/0               md5

這種修改允許 “tutorial “用戶從任何主機訪問它的資料庫。而它的意思是:

  1. · local: 來自系統的非網路連接
    · host: 任何類型的TCP / IP連接
    · hostssl: 僅在SSL協議下的TCP / IP連接
    · hostnossl: 不使用SSL協議的TCP / IP連接
  2. tutorial: 資料庫名稱要允許訪問,用「all」指代所有資料庫
  3. tutorial: 用户名授予访问权限
  4. 0.0.0.0/0: IP位址,在您的情況下,您正在授權訪問任何IPv4地址
  5. md5: 公認的認證方法,其中一些重要的是:
    · md5: 密碼身份驗證
    · trust: 無條件接受連接
    · peer: 使用系統用戶名只連接同名的資料庫

要了解更多信息,請訪問地址 https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html 或官方PostgreSQL文档。
完成之後,請重新啟動服務以使所有更改生效:

$ sudo systemctl restart postgresql
您的免費試用從這裡開始!
聯繫我們的團隊申請實體主機服務!
註冊成為會員,尊享專屬禮遇!
您的免費試用從這裡開始!
聯繫我們的團隊申請實體主機服務!
註冊成為會員,尊享專屬禮遇!
Telegram Skype