Wéi installéiere a benotzt PostgreSQL op Ubuntu 18.04


PostgreSQL (kuerz Postgres) ass en Open Source, mächteg, fortgeschratt, héich performant a stabil relational-Dokument Datebank System. Et benotzt a verbessert d'SQL Sprooch gekoppelt mat enger grousser Zuel vu Funktiounen fir sécher Datelagerung a Gestioun.

Et ass effizient, zouverlässeg a skalierbar fir grouss, komplizéiert Bänn vun Daten ze handhaben an Enterprise-Niveau a Feeler-tolerant Ëmfeld opzestellen, wärend héich Dateintegritéit assuréiert. Postgres ass och héich erweiterbar mat Features wéi Indexen kënnt mat APIen fir datt Dir Är eege Léisunge kënnt entwéckelen fir Är Datelagerung Erausfuerderungen ze léisen.

An dësem Artikel erkläre mir wéi Dir PostgreSQL op engem Ubuntu 18.04 Server installéiere wëllt (schafft och op eeler Ubuntu Verëffentlechungen) a léiere e puer grondleeënd Weeër fir se ze benotzen.

Wéi installéiere ech PostgreSQL op Ubuntu

Als éischt, erstellt eng Datei /etc/apt/sources.list.d/pgdg.list déi d'Repository Konfiguratioun späichert, importéiert dann de Repositoryschlëssel op Äre System, aktualiséieren Är System Package Lëscht an installéiere Postgres Package mat de folgende Kommandoen.

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
$ sudo apt install wget ca-certificates
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt update
$ sudo apt install postgresql-10 pgadmin4 

Wann postgres installéiert ass, huet den Datebankservice automatesch gestart an Dir kënnt bestätegen andeems Dir de folgende Kommando tippt.

$ sudo systemctl status postgresql.service

Wéi benotzen ech PostgreSQL Rollen an Datenbanken

An postgres gëtt Client Authentifikatioun vun der /etc/postgresql/10/main/pg_hba.conf Konfiguratiounsdatei kontrolléiert. D'Standard Authentifikatiounsmethod ass \peer fir den Datebankadministrator, dat heescht datt et de Client säi Betribssystem Benotzernumm vum Betribssystem kritt a kontrolléiert ob et dem ugefrote Datebank Benotzernumm entsprécht fir Zougang z'erméiglechen, fir lokal Verbindungen (wéi an de folgende gewisen. Screenshot).

Wärend dem Installatiounsprozess gouf e System Benotzerkont genannt postgres ouni Passwuert erstallt, dëst ass och de Standard Datebank Administrateur Benotzernumm.

$ sudo vim /etc/postgresql/10/main/pg_hba.conf

Zousätzlech, ënner postgres Datebank Zougang Permis Gestioun gëtt iwwer Rollen duerchgefouert. Eng Roll kann entweder als Datebank Benotzer ugesi ginn, oder als Grupp vun Datebank Benotzer, jee no wéi d'Roll opgestallt ass.

D'Default Roll ass och postgres. Wichteg ass datt d'Datebankrollen konzeptuell komplett net mat de Betribssystem Benotzer verbonne sinn, awer praktesch kënnen se net getrennt sinn (zum Beispill wann et ëm Client Authentifikatioun kënnt).

Wichteg ass, datt Rollen Datebankobjekte kënnen besëtzen, a kënnen Privilegien op dës Objeten un aner Rollen zouginn fir ze kontrolléieren wien Zougang zu wéi enge Objeten huet. Zousätzlech ass et méiglech Memberschaft an enger Roll an eng aner Roll ze ginn.

Fir aner Rollen ze konfiguréieren fir verschlësselte Passwierder ze benotzen fir Datenbanken ze verwalten, déi hinnen zougewisen sinn, ausser der Standard Postgres Roll, musst Dir d'Linn änneren op.

Then restart the postgresql service to apply the recent changes.
$ sudo systemctl restart postgresql

Wéi benotzt Dir PostgreSQL op Ubuntu

Soubal alles opgestallt ass, kënnt Dir op de Postgres System Kont mat dem folgenden Kommando zougräifen, wou de -i Fändel seet sudo fir d'Shell auszeféieren, déi vum Zil Benotzer Passwuert-Datebankentrée als Login-Shell spezifizéiert gëtt.

$ sudo -i -u postgres 
$ psql		#to launch the postgres shell program  
postgres=#

Fir direkt op d'Postgres Shell ze kommen, ouni als éischt op de Postgres Benotzerkont zouzegräifen, fuert de folgende Kommando.

$ sudo -i -u postgres psql

Dir kënnt de Postgres ophalen/verloossen andeems Dir de folgende Kommando tippt.

postgres=# \q

Erstellt eng nei Benotzerroll mat dem folgenden Kommando.

postgres=# CREATE ROLE tecmint;

Fir eng Roll mat engem LOGIN Attribut ze kreéieren, benotzt de folgende Kommando (Rollen mat dem LOGIN Attribut kënnen d'selwecht wéi eng Datebank Benotzer ugesi ginn).

postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name;	#assumes login function by default

Eng Roll kann och mat engem Passwuert erstallt ginn, dëst ass nëtzlech wann Dir d'Client Authentifikatiounsmethod konfiguréiert hutt fir d'Benotzer ze froen e verschlësselte Passwuert ze liwweren wann Dir mat der Datebank verbënnt.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Fir déi existent Benotzerrollen ze lëschten, benotzt eng vun dësen Kommandoen.

postgres=# \du 				#shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;

Fir all existent Benotzerroll erofzesetzen, benotzt de DROP ROLE Kommando wéi gewisen.

postgres=# DROP ROLE tecmint;

Wann Dir eng Roll mat engem bestëmmten Numm erstallt hutt (zum Beispill tecmint Benotzer), kënnt Dir eng Datebank erstellen (mam selwechten Numm wéi d'Roll) déi vun där Roll geréiert gëtt wéi gewisen.

postgres=# CREATE DATABASE tecmint;

Elo fir d'Datebank tecmint ze verwalten, gitt Zougang zu der Postgres Shell als Tecmint Roll, gitt Äert Passwuert wéi follegt.

$ sudo -i -u tecmint psql

Dëscher erstellen ass sou einfach, mir erstellen en Testtabell genannt Autoren, déi Informatioun iwwer TecMint.com Autoren späichert, wéi gewisen.

tecmint=>CREATE TABLE authors (
    code      char(5) NOT NULL,
    name    varchar(40) NOT NULL,
    city varchar(40) NOT NULL
    joined_on date NOT NULL,	
    PRIMARY KEY (code)
);

Nodeems Dir en Dësch erstallt hutt, probéiert et mat e puer Daten ze populéieren, wéi follegt.

tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');

Fir d'Donnéeën an enger Tabelle gespäichert ze gesinn, kënnt Dir e SELECT Kommando ausféieren.

tecmint=> SELECT * FROM authors;

Dir kënnt all Dëscher an der aktueller Datebank mat dem folgenden Kommando oplëschten.

tecmint=>\dt

Fir eng Tabell an der aktueller Datebank ze läschen, benotzt de DROP Kommando.

tecmint=> DROP TABLE authors;

Fir all Datenbanken ze lëschten, benotzt ee vun de folgende Kommandoen.

tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list	#shows a detailed description 
OR
tecmint=>\l

Wann Dir eng Datebank läschen wëllt, benotzt zum Beispill den DROP Kommando.

tecmint=>DROP DATABASE tecmint;

Dir kënnt och vun enger Datebank op eng aner einfach mat dem folgenden Kommando wiesselen.

tecmint=>\connect database_name

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

Dat ass et fir elo! An dësem Artikel hu mir erkläert wéi Dir PostgreSQL Datebank Management System op Ubuntu 18.04 installéiere a benotzt. Dir kënnt eis Är Ufroen oder Gedanken an de Kommentarer schécken.