Wéi installéiere ech PostgreSQL Datebank an Debian 10


PostgreSQL (heiansdo als Postgres bezeechent) ass déi fortgeschratt Open-Source allgemeng Zweck an objektrelational Datebanksystem mat enger bewährter Architektur déi op all gréisser Betribssystemer leeft. Et ass en héich performant, stabilen, skalierbaren an erweiterbare Datebanksystem deen erstaunlech Dateintegritéit ubitt a mächteg Add-ons ënnerstëtzt.

Wichteg ass, PostgreSQL erlaabt Iech Är eege Datentypen ze definéieren, personaliséiert Funktiounen derbäi ze ginn, souguer Code aus verschiddene Programméierungssprooche wéi C/C++, Java, etc ze schreiwen, ouni Är Datebank nei ze kompiléieren.

PostgreSQL gëtt vu bekannten Tech Firmen wéi Apple, Fujitsu, Red Hat, Cisco, Juniper Network, etc.

An dësem Artikel wäerte mir Iech weisen wéi Dir PostgreSQL Datenbanken Server an Debian 10 installéiere kënnt, séchert a konfiguréiert.

  1. Installéiert en Debian 10 (Buster) Minimal Server

Installéiere PostgreSQL Server op Debian 10

Fir PostgreSQL Datebankserver z'installéieren, benotzt de Standard APT Package Manager, deen PostgreSQL 11 Server a Client installéiert.

# apt install postgresql-11 postgresql-client-11

Op Debian, wéi all aner Daemonen, gëtt d'Postgres-Datebank direkt initialiséiert nodeems d'Packageinstallatioun fäerdeg ass wéi am folgenden Screenshot gewisen.

Fir z'iwwerpréiwen ob d'Postgres-Datebank wierklech initialiséiert ass, kënnt Dir de pg_isready Utility benotzen, deen de Verbindungsstatus vun engem PostgreSQL-Server kontrolléiert, wéi follegt.

# pg_isready 

Ausserdeem, ënner Systemd, gëtt de Postgres Service och automatesch gestart an aktivéiert fir beim Systemboot ze starten. Fir sécherzestellen datt de Service op a gutt leeft, fuert de folgende Kommando.

# systemctl status postgresql

Déi folgend sinn aner nëtzlech Systemctl Kommandoen fir de Postgres Service ënner systemd ze Manager.

# systemctl start postgresql
# systemctl restart postgresql
# systemctl stop postgresql
# systemctl reload postgresql 		#this reloads the service configuration

Sécheren a Konfiguréieren PostgreSQL Datebank

Par défaut benotzt d'Postgres d'Konzept vu Rollen fir d'Datebank Zougang Permissiounen ze verwalten an d'Datebankrollen sinn konzeptuell komplett getrennt vun de Betribssystem Benotzer. Eng Roll kann e Benotzer oder e Grupp sinn, an eng Roll déi Login Recht huet gëtt Benotzer genannt.

E frësch initialiséierte System enthält ëmmer eng virdefinéiert Roll genannt postgres, et huet deeselwechten Numm wéi de Betribssystem Benotzerkont genannt postgres, dee benotzt gëtt fir Zougang zu psql (Postgres Shell) an aner Datebankprogrammer.

De Postgres System Benotzerkont ass net mat engem Passwuert geschützt, fir et ze sécheren, kënnt Dir e Passwuert erstellen mat dem passwd Utility.

# passwd postgres

Och d'Postgres Roll (oder administrativ Datebank Benotzer wann Dir wëllt) ass net als Standard geséchert. Dir musst et och mat engem Passwuert sécheren. Elo schalt op de Postgres System Benotzerkont a Postgres Roll (erënnert un e staarkt a séchert Passwuert ze setzen) wéi gewisen.

# su - postgres
# psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"

Da gitt de Postgres Kont aus fir mam Guide weiderzemaachen.

Client Authentifikatioun konfiguréieren

D'Haaptpostgres Konfiguratiounsdatei ass op /etc/postgresql/11/main/postgresql.conf. Zousätzlech zu dëser Datei benotzt Postgres zwee aner manuell verännert Konfiguratiounsdateien, déi d'Client Authentifikatioun kontrolléieren.

Client Authentifikatioun gëtt vun der /etc/postgresql/11/main/pg_hba.conf Konfiguratiounsdatei kontrolléiert. Postgres bitt vill verschidde Client Authentifikatiounsmethoden abegraff Passwuert-baséiert Authentifikatioun. Client Verbindunge ginn authentifizéiert baséiert op Client Host Adress, Datebank, a Benotzer.

Wann Dir wielt Passwuert-baséiert Authentifikatioun ze benotzen, kënnt Dir eng vun dëse Methoden ëmsetzen: md5 oder Passwuert déi ähnlech funktionnéieren ausser fir d'Art a Weis wéi d'Passwuert iwwer d'Verbindung iwwerdroe gëtt, nämlech MD5-hashed a kloer-Text respektiv.

Mat md5 Passwuert Authentifikatioun verhënnert Passwuert Sniffing vun Hacker a vermeit Passwierder um Server am Kloertext ze späicheren. Passwuertmethod kann nëmme sécher benotzt ginn wann d'Verbindung duerch SSL Verschlësselung geschützt ass.

Fir dëse Guide wäerte mir weisen wéi Dir md5 Passwuert Authentifikatioun fir Client Authentifikatioun konfiguréieren.

# vim /etc/postgresql/11/main/pg_hba.conf 

Kuckt no der folgender Linn an ännert d'Authentifikatiounsmethod op md5 wéi am Screenshot gewisen.

local   all             all                                     md5

Späichert d'Ännerungen an der Datei a gitt se aus. Da gëlt déi rezent Ännerungen un andeems Dir de Postgres Service wéi follegt nei start.

# systemctl restart postgresql

Erstellt eng nei Datebank an Datebank Roll/Benotzer am PostgreSQL

An dëser leschter Sektioun wäerte mir weisen wéi een neien Datebank Benotzer an eng Datebank Roll erstellt fir se ze verwalten. Als éischt, schalt op de Postgres Kont an öffnen d'Postgres Shell wéi follegt.

# su - postgres
$ psql

Fir eng Datebank mam Numm test_db ze kreéieren, fuert de folgende SQL Kommando.

postgres=# CREATE DATABASE test_db;

Erstellt dann eng Datebank Benotzer (eng Roll mat Login Rechter) deen déi nei Datebank verwalten wéi follegt.

postgres=#CREATE USER test_user PASSWORD ‘[email _here’;     #assumes login function by default

Fir mat der test_db als Benotzer test_user ze verbannen, fuert de folgende Kommando.

 
$ psql -d  test_db  -U test_user

Fir méi Informatioun, kuckt d'PostgreSQL 11 Dokumentatioun.

Dat ass wann fir elo! An dësem Guide hu mir gewisen wéi Dir PostgreSQL-Datebankserver an Debian 10 installéiere kënnt, sécheren a konfiguréieren. Hutt Dir Froen oder Gedanken ze deelen? Benotzt de Kommentarformular hei ënnen fir eis z'erreechen.