如何在 Debian 10上安裝 PostgreSQL 數據庫

how-to-install-postgresql-on-debian-10-featured

首先咱們對PostgreSQL進行一個大體的介紹。html

PostgreSQL,一般簡稱爲Postgres,是一種開放源代碼的通用對象關係數據庫管理系統。它具備許多強大的功能,例如在線備份,時間點恢復,嵌套事務,SQL和JSON查詢,多版本併發控制(MVCC),異步複製等等。linux

本教程將引導您完成在Debian 10上安裝PostgreSQL數據庫服務器的步驟。咱們還將探討基本數據庫管理的基礎。sql

###首先,安裝PostgreSQLshell

安裝PostgreSQL,可從默認Debian存儲庫中得到的最新PostgreSQL版本,這裏以PostgreSQL 11.5版本爲例。數據庫

要在Debian服務器上安裝PostgreSQL,請以root用戶或具備sudo權限用戶執行如下步驟:bash

一、更新APT包索引:服務器

sudo apt update
複製代碼

二、安裝PostgreSQL服務器和contrib軟件包,該軟件包爲PostgreSQL數據庫提供附加功能:網絡

sudo apt install postgresql postgresql-contrib
複製代碼

三、安裝完成後,PostgreSQL服務將啓動。要驗證安裝,請使用該psql工具打印服務器版本:併發

sudo -u postgres psql -c "SELECT version();"
複製代碼

輸出相似以下:異步

PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
複製代碼

psql 是一個交互式終端程序,可以讓您與PostgreSQL服務器進行交互。

PostgreSQL角色和驗證方法

PostgreSQL使用角色的概念來處理數據庫訪問權限。根據角色的設置方式,它能夠表明一個數據庫用戶或一組數據庫用戶。

PostgreSQL支持多種身份驗證方法。最經常使用的方法是:

  • 信任-只要符合角色中定義的條件,角色就能夠在沒有密碼的狀況下進行鏈接pg_hba.conf
  • 密碼-角色能夠經過提供密碼進行鏈接。密碼能夠存儲爲scram-sha-256 md5password(明文)
  • 標識符-僅支持TCP / IP鏈接。它經過獲取客戶端的操做系統用戶名以及可選的用戶名映射來工做。
  • 對等-與Ident相同,但僅在本地鏈接上受支持。

PostgreSQL客戶端身份驗證在名爲的配置文件中定義pg_hba.conf。對於本地鏈接,PostgreSQL設置爲使用對等身份驗證方法。

在安裝PostgreSQL時自動建立「 postgres」用戶。該用戶是PostgreSQL實例的超級用戶,它等效於MySQL根用戶。

要以「 postgres」身份登陸到PostgreSQL服務器,請切換到用戶 postgres並使用該psql實用程序訪問PostgreSQL提示符:

sudo su - postgres
psql
複製代碼

在這裏,您能夠與PostgreSQL服務器進行交互。要退出PostgreSQL shell,請輸入:

\q
複製代碼

您可使用該sudo命令訪問PostgreSQL提示符,而無需切換用戶:

sudo -u postgres psql
複製代碼

postgres一般僅從本地主機使用該用戶。

建立PostgreSQL角色和數據庫

createuser命令容許您從命令行建立新角色。只有超級用戶和具備CREATEROLE特權的角色才能建立新角色。

在如下示例中,咱們將建立一個名爲的新角色kylo,一個名爲的數據庫,kylodb並授予該角色對該數據庫的特權。

一、首先,經過發出如下命令來建立角色:

sudo su - postgres -c "createuser linux265"
複製代碼

二、接下來,使用如下createdb命令建立數據庫:

sudo su - postgres -c "createdb linux265db"
複製代碼

三、要向數據庫上的用戶授予權限,請鏈接到PostgreSQL shell:

sudo -u postgres psql
複製代碼

​ 運行如下查詢:

grant all privileges on database linux265db to linux265;
複製代碼

啓用對PostgreSQL服務器的遠程訪問

默認狀況下,PostgreSQL服務器僅在本地接口上偵聽127.0.0.1

若是要從遠程位置鏈接到PostgreSQL服務器,則須要將服務器設置爲在公共接口上偵聽,並編輯配置以接受遠程鏈接。

打開配置文件,postgresql.conf而後listen_addresses = '*'CONNECTIONS AND AUTHENTICATION部分中添加。這指示服務器在全部網絡接口上進行偵聽。

sudo nano /etc/postgresql/11/main/postgresql.conf
複製代碼

修改以下內容:

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
 # - Connection Settings -

listen_addresses = '*'     # what IP address(es) to listen on;
複製代碼

保存文件並從新啓動PostgreSQL服務以使更改生效:

sudo service postgresql restart
複製代碼

使用ss實用程序驗證更改:

ss -nlt | grep 5432
複製代碼

輸出相似以下內容:

LISTEN   0         128                 0.0.0.0:5432             0.0.0.0:*
LISTEN   0         128                    [::]:5432                [::]:*
複製代碼

輸出應顯示PostgreSQL 服務器在全部接口(0.0.0.0)上進行偵聽

最後一步是經過編輯pg_hba.conf文件將服務器配置爲接受遠程登陸。

如下是顯示不一樣用例的一些示例:

# TYPE DATABASE USER ADDRESS METHOD
 # The user linux265 will be able to access all databases from all locations using an md5 password
host    all             linux265            0.0.0.0/0                md5
 # The user linux265 will be able to access only the janedb from all locations using an md5 password
host    linux265db          linux265            0.0.0.0/0                md5
 # The user linux265 will be able to access all databases from a trusted location (192.168.1.134) without a password
host    all             linux265            192.168.1.134            trust
複製代碼

寫在最後

本教程已經向您展現瞭如何在Debian 10上安裝和配置PostgreSQL。有關此主題的更多信息,請參閱PostgreSQL文檔

若是您有任何問題或反饋,請隨時發表評論。 原文地址:如何在 Debian 10上安裝 PostgreSQL 數據庫

相關文章
相關標籤/搜索