Com instal·lar la base de dades PostgreSQL a Debian 10


PostgreSQL (de vegades anomenat Postgres) és el sistema de bases de dades de propòsit general i objectes relacionals de codi obert més avançat amb una arquitectura provada que s'executa en tots els sistemes operatius principals. És un sistema de bases de dades d'alt rendiment, estable, escalable i extensible que proporciona una integritat de dades sorprenent i admet complements potents.

És important destacar que PostgreSQL us permet definir els vostres propis tipus de dades, afegir funcions personalitzades, fins i tot escriure codi de diferents llenguatges de programació com ara C/C++, Java, etc., sense recompilar la vostra base de dades.

PostgreSQL està sent utilitzat per empreses tecnològiques conegudes com Apple, Fujitsu, Red Hat, Cisco, Juniper Network, etc.

En aquest article, us mostrarem com instal·lar, protegir i configurar el servidor de bases de dades PostgreSQL a Debian 10.

  1. Instal·leu un servidor mínim de Debian 10 (Buster)

Instal·lant PostgreSQL Server a Debian 10

Per instal·lar el servidor de bases de dades PostgreSQL, utilitzeu el gestor de paquets APT predeterminat, que instal·larà el servidor i el client PostgreSQL 11.

# apt install postgresql-11 postgresql-client-11

A Debian, com qualsevol altre dimoni, la base de dades Postgres s'inicialitza immediatament després de completar la instal·lació del paquet, tal com es mostra a la captura de pantalla següent.

Per comprovar si la base de dades Postgres està realment inicialitzada, podeu utilitzar la utilitat pg_isready que verifica l'estat de connexió d'un servidor PostgreSQL, de la següent manera.

# pg_isready 

A més, a systemd, el servei Postgres també s'inicia automàticament i s'habilita per iniciar-se a l'arrencada del sistema. Per assegurar-vos que el servei està en funcionament i funciona correctament, executeu l'ordre següent.

# systemctl status postgresql

A continuació es mostren altres ordres systemctl útils per gestionar el servei Postgres sota systemd.

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

Assegurar i configurar la base de dades PostgreSQL

Per defecte, Postgres utilitza el concepte de rols per gestionar els permisos d'accés a la base de dades i els rols de la base de dades estan conceptualment completament separats dels usuaris del sistema operatiu. Un rol pot ser un usuari o un grup, i un rol que té dret d'inici de sessió s'anomena usuari.

Un sistema recentment inicialitzat sempre conté un rol predefinit anomenat postgres, té el mateix nom que el compte d'usuari del sistema operatiu anomenat postgres, que s'utilitza per accedir al psql (shell de Postgres) i altres programes de base de dades.

El compte d'usuari del sistema Postgres no està protegit amb una contrasenya, per protegir-la, podeu crear una contrasenya mitjançant la utilitat passwd.

# passwd postgres

A més, el rol de Postgres (o l'usuari de la base de dades administrativa si voleu) no està assegurat per defecte. També cal protegir-lo amb una contrasenya. Ara canvieu al compte d'usuari del sistema postgres i al rol de postgres (recordeu establir una contrasenya segura i segura) tal com es mostra.

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

A continuació, sortiu del compte de postgres per continuar amb la guia.

Configuració de l'autenticació del client

El fitxer de configuració principal de Postgres es troba a /etc/postgresql/11/main/postgresql.conf. A més d'aquest fitxer, Postgres utilitza altres dos fitxers de configuració editats manualment, que controlen l'autenticació del client.

L'autenticació del client està controlada pel fitxer de configuració /etc/postgresql/11/main/pg_hba.conf. Postgres ofereix molts mètodes d'autenticació de clients diferents, inclosa l'autenticació basada en contrasenya. Les connexions de client s'autentiquen en funció de l'adreça d'amfitrió del client, la base de dades i l'usuari.

Si trieu utilitzar l'autenticació basada en contrasenya, podeu implementar un d'aquests mètodes: md5 o contrasenya que funcionen de manera similar, excepte per la manera en què la contrasenya es transmet a través de la connexió, és a dir, MD5-hash i text clar, respectivament.

L'ús de l'autenticació de contrasenyes md5 evita que els pirates informàtics detectin contrasenyes i emmagatzemen les contrasenyes al servidor en text sense format. El mètode de contrasenya només es pot utilitzar de manera segura si la connexió està protegida per xifratge SSL.

Per a aquesta guia, mostrarem com configurar l'autenticació de contrasenya md5 per a l'autenticació del client.

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

Busqueu la línia següent i canvieu el mètode d'autenticació a md5 tal com es mostra a la captura de pantalla.

local   all             all                                     md5

Deseu els canvis al fitxer i sortiu-ne. A continuació, apliqueu els canvis recents reiniciant el servei Postgres de la manera següent.

# systemctl restart postgresql

Creació d'una nova base de dades i rol/usuari de base de dades a PostgreSQL

En aquesta darrera secció, mostrarem com crear un nou usuari de base de dades i un rol de base de dades per gestionar-lo. Primer, canvieu al compte de Postgres i obriu l'intèrpret d'ordres de Postgres de la següent manera.

# su - postgres
$ psql

Per crear una base de dades anomenada \test_db, executeu la següent comanda SQL.

postgres=# CREATE DATABASE test_db;

A continuació, creeu un usuari de la base de dades (un rol amb drets d'inici de sessió) que gestionarà la nova base de dades de la manera següent.

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

Per connectar-vos a test_db com a usuari test_user, executeu l'ordre següent.

 
$ psql -d  test_db  -U test_user

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

Això si de moment! En aquesta guia, hem mostrat com instal·lar, protegir i configurar el servidor de bases de dades PostgreSQL a Debian 10. Tens alguna pregunta o pensament per compartir? Utilitzeu el formulari de comentaris a continuació per contactar amb nosaltres.