Salta el contingut
 

Configuració de sistemes gestors de bases de dades

Joan Puigcerver Ibáñez

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Configuració de sistemes gestors de bases de dades

L'Administrador de Bases de Dades (DataBase Administrator o DBA) és la persona responsable de posar en marxa i mantindre el sistema gestor. Entre les seues funcions clau hi ha la configuració de l'entorn, la gestió de les connexions, la seguretat i l'explotació del sistema.

En els apartats següents es detallen els aspectes més rellevants de la configuració d'un Sistema Gestor de Bases de Dades (SGBD), amb especial atenció a PostgreSQL.

Configuració de l'entorn

Abans d'instal·lar el SGBD, cal preparar la màquina on s'allotjarà. Com que els clients s'hi connectaran per xarxa, és convenient assignar al servidor un nom i una adreça IP estàtica, de manera que la seua adreça no canvie.

A més, cal crear o modificar les variables d'entorn necessàries. Per exemple, s'afigen al PATH les rutes dels executables del servidor i del client, i es defineixen les variables addicionals que necessiten els recursos del sistema.

Configuració de les connexions

Les connexions es configuren en els dos extrems de la comunicació. En el servidor, cal especificar el port d'escolta, el protocol de comunicació i els mètodes d'autenticació o els paràmetres de la connexió xifrada. En el client, en canvi, cal configurar el nom o la IP del servidor, el port, el protocol i les credencials d'accés.

Configuració del servidor

El servidor llig la seua configuració d'un fitxer de paràmetres, que emmagatzema, entre altres, les rutes dels fitxers de control, de dades i de registre (log) i els aspectes que controlen les connexions dels clients.

No tots els paràmetres es comporten igual quan es modifiquen: alguns tenen efecte immediat, mentre que d'altres requereixen recarregar el fitxer de paràmetres o reiniciar el servidor.

Configuració de l'emmagatzematge

Els SGBD utilitzen elements lògics, anomenats tablespaces, per organitzar els fitxers físics on es guarden les dades. Aquesta capa intermèdia permet ampliar la capacitat sense aturar el sistema i facilita el manteniment i la gestió de l'espai.

Segons el tipus d'informació que contenen, es distingeixen diversos tipus de tablespaces:

  • De sistema: emmagatzema la informació interna del sistema.
  • Temporal: guarda els resultats parcials de les consultes pesades.
  • De registre o UNDO: guarda la informació necessària per desfer canvis (rollback).

Configuració dels comptes del sistema

En instal·lar el SGBD, es crea un usuari administrador (per exemple, root) amb permisos totals per a la configuració. Aquest usuari s'ha de protegir especialment, ja que qualsevol persona que hi tinga accés controla tot el sistema.

Alguns SGBD permeten connexions sense contrasenya des del mateix servidor. D'aquesta manera, si s'oblida la contrasenya de l'administrador, es pot recuperar l'accés, però només des de la pròpia màquina.

Arrancada i aturada del sistema

La majoria de SGBD moderns es poden instal·lar com a serveis, de manera que arranquen automàticament amb el sistema operatiu. Amb Docker, n'hi ha prou amb parar o arrancar el contenidor perquè el SGBD s'ature o s'inicie.

Tot i així, algunes tasques administratives requereixen aturar el sistema, per exemple, per fer canvis en els fitxers de dades.

Diccionari de dades

El diccionari de dades és un conjunt de taules i vistes que emmagatzemen les metadades de la base de dades: l'estructura de les taules, els índexs, les vistes, els usuaris, els privilegis, els procediments emmagatzemats, etc.

El SGBD utilitza el diccionari per gestionar i supervisar l'estat de la base de dades, i l'accés està restringit als usuaris amb rol de DBA. No és recomanable modificar-lo directament, ja que els canvis poden provocar inconsistències.

Quadern de bitàcola

El quadern de bitàcola és un registre detallat de totes les activitats i els canvis fets en la base de dades. Pot incloure:

  • Disseny i estructura: planificació de l'esquema, taules, relacions, índexs…
  • Consultes i procediments: consultes SQL, procediments emmagatzemats, vistes i modificacions de dades.
  • Modificacions i actualitzacions: nous camps, canvis de tipus de dades o noves taules.
  • Errors i solucions: incidències trobades i com s'han resolt.
  • Còpies de seguretat i restauracions: registre de les còpies, de les restauracions i dels motius.
  • Gestió d'usuaris i permisos: control d'accessos, rols i canvis de privilegis.

Aquest registre permet auditar els canvis, resoldre problemes i garantir un manteniment ordenat. A més, com que recull tots els canvis, facilita desfer-los o replicar-los en un altre servidor.

Documentació

La documentació és imprescindible per mantindre els servidors i els serveis. Ha d'incloure el maquinari, el programari i les versions instal·lades, i també els procediments de còpia de seguretat, de registre de dades (per complir la legislació de protecció de dades) i d'administració d'usuaris.

Configuració de PostgreSQL

PostgreSQL té una arquitectura client/servidor, i cal configurar diversos aspectes per permetre l'accés des de fora del servidor. Aquesta configuració es detalla en tres apunts diferenciats:

Variables d'entorn i estructura de directoris

PostgreSQL utilitza diverses variables d'entorn per localitzar les dades del servidor i els paràmetres de connexió dels clients. Les principals són:

  • PGDATA: directori de dades del clúster (data directory), on es troben els fitxers de configuració i les dades de totes les bases de dades. Els subdirectoris més importants són:

    • base/: fitxers de dades de cada base de dades.
    • pg_wal/: registre de transaccions (Write-Ahead Log).
    • pg_log/ o log/: fitxers de registre del servidor, segons la configuració.
  • PGHOST, PGPORT, PGUSER, PGPASSWORD, PGDATABASE: variables que utilitzen els clients (psql i les biblioteques libpq) per establir els paràmetres de connexió per defecte.

Els programes de PostgreSQL (postgres, psql, pg_dump…) s'instal·len a la ubicació habitual del sistema, com ara /usr/lib/postgresql/16/bin/. Aquesta ubicació no té res a vore amb el directori on es guarden les dades (PGDATA), que pot estar en qualsevol altre lloc.

📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.