Com instal·lar i utilitzar PostgreSQL a Ubuntu 18.04


PostgreSQL (Postgres en resum) és un sistema de bases de dades de documents relacionals estable, de codi obert, potent, avançat, d'alt rendiment i estable. Utilitza i millora el llenguatge SQL juntament amb un gran nombre de funcions per a l'emmagatzematge i la gestió de dades segurs.

És eficient, fiable i escalable per gestionar volums grans i complicats de dades i configurar entorns de nivell empresarial i tolerants a errors, alhora que garanteix una alta integritat de les dades. Postgres també és molt extensible amb funcions com ara índexs que inclou API perquè pugueu desenvolupar les vostres pròpies solucions per resoldre els vostres reptes d'emmagatzematge de dades.

En aquest article, explicarem com instal·lar PostgreSQL en un servidor Ubuntu 18.04 (també funciona amb versions antigues d'Ubuntu) i aprendrem algunes maneres bàsiques d'utilitzar-lo.

Com instal·lar PostgreSQL a Ubuntu

Primer, creeu un fitxer /etc/apt/sources.list.d/pgdg.list que emmagatzema la configuració del dipòsit, després importeu la clau del dipòsit al vostre sistema, actualitzeu la llista de paquets del sistema i instal·leu el paquet Postgres mitjançant les ordres següents.

$ 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 

Un cop instal·lat postgres, el servei de base de dades s'inicia automàticament i podeu confirmar escrivint l'ordre següent.

$ sudo systemctl status postgresql.service

Com utilitzar rols i bases de dades PostgreSQL

A postgres, l'autenticació del client està controlada pel fitxer de configuració /etc/postgresql/10/main/pg_hba.conf. El mètode d'autenticació per defecte és \peer per a l'administrador de la base de dades, és a dir, obté el nom d'usuari del sistema operatiu del client del sistema operatiu i comprova si coincideix amb el nom d'usuari de la base de dades sol·licitat per permetre l'accés, per a connexions locals (com es mostra a continuació). captura de pantalla).

Durant el procés d'instal·lació, es va crear un compte d'usuari del sistema anomenat postgres sense contrasenya, aquest també és el nom d'usuari per defecte de l'administrador de la base de dades.

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

A més, a Postgres, la gestió de permisos d'accés a la base de dades es realitza mitjançant rols. Un rol es pot considerar com un usuari de base de dades o com un grup d'usuaris de base de dades, depenent de com estigui configurat el rol.

El rol per defecte també és postgres. És important destacar que els rols de la base de dades estan conceptualment totalment desconnectats als usuaris del sistema operatiu, però pràcticament poden no estar separats (per exemple, quan es tracta d'autenticació de clients).

És important destacar que els rols poden posseir objectes de base de dades i poden assignar privilegis sobre aquests objectes a altres rols per controlar qui té accés a quins objectes. A més, és possible concedir la pertinença a una funció a una altra.

Per configurar altres rols per utilitzar contrasenyes xifrades per gestionar les bases de dades assignades, a part del rol de postgres predeterminat, cal canviar la línia a.

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

Com utilitzar PostgreSQL a Ubuntu

Un cop tot estigui configurat, podeu accedir al compte del sistema de postgres amb l'ordre següent, on el senyalador -i indica a sudo que executi l'intèrpret d'ordres especificat per l'entrada de la base de dades de contrasenyes de l'usuari objectiu com a intèrpret d'ordres d'inici de sessió.

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

Per accedir directament a l'intèrpret d'ordres de postgres, sense accedir abans al compte d'usuari de postgres, executeu l'ordre següent.

$ sudo -i -u postgres psql

Podeu sortir/sortir del postgres escrivint la següent comanda.

postgres=# \q

Creeu un rol d'usuari nou amb l'ordre següent.

postgres=# CREATE ROLE tecmint;

Per crear un rol amb un atribut LOGIN, utilitzeu l'ordre següent (els rols amb l'atribut LOGIN es poden considerar els mateixos que els usuaris de la base de dades).

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

També es pot crear un rol amb una contrasenya, això és útil si heu configurat el mètode d'autenticació del client per demanar als usuaris que proporcionin una contrasenya xifrada quan es connectin a la base de dades.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Per llistar els rols d'usuari existents, utilitzeu qualsevol d'aquestes ordres.

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

Per eliminar qualsevol rol d'usuari existent, utilitzeu l'ordre DROP ROLE tal com es mostra.

postgres=# DROP ROLE tecmint;

Un cop hàgiu creat un rol amb un nom determinat (per exemple, usuari de tecmint), podeu crear una base de dades (amb el mateix nom que el rol) que serà gestionada per aquest rol tal com es mostra.

postgres=# CREATE DATABASE tecmint;

Ara, per gestionar la base de dades tecmint, accediu a l'intèrpret d'ordres de postgres com a rol tecmint, proporcioneu la vostra contrasenya de la següent manera.

$ sudo -i -u tecmint psql

Crear taules és tan fàcil que crearem una taula de prova anomenada autors, que emmagatzema informació sobre els autors de TecMint.com, tal com es mostra.

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)
);

Després de crear una taula, proveu d'omplir-la amb algunes dades, de la manera següent.

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

Per veure les dades emmagatzemades en una taula, podeu executar una ordre SELECT.

tecmint=> SELECT * FROM authors;

Podeu llistar totes les taules de la base de dades actual amb l'ordre següent.

tecmint=>\dt

Per suprimir una taula de la base de dades actual, utilitzeu l'ordre DROP.

tecmint=> DROP TABLE authors;

Per llistar totes les bases de dades, utilitzeu qualsevol de les ordres següents.

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

Si voleu suprimir una base de dades, utilitzeu l'ordre DROP, per exemple.

tecmint=>DROP DATABASE tecmint;

També podeu canviar fàcilment d'una base de dades a una altra utilitzant l'ordre següent.

tecmint=>\connect database_name

Per obtenir més informació, consulteu la documentació de PostgreSQL 10.4.

Això és tot de moment! En aquest article, hem explicat com instal·lar i utilitzar el sistema de gestió de bases de dades PostgreSQL a Ubuntu 18.04. Podeu enviar-nos les vostres consultes o reflexions als comentaris.