PostgreSQL

PostgreSQL è un database relazionale avanzato e open source, noto per la sua robustezza, conformità agli standard SQL e funzionalità enterprise. È la scelta ideale per applicazioni che richiedono integrità dei dati e funzionalità avanzate.

Cos'è PostgreSQL

PostgreSQL è un sistema di gestione di database relazionale che:

  • Supporta tipi di dati avanzati come JSON, array, hstore
  • Offre full-text search integrato
  • Garantisce conformità ACID completa
  • Supporta estensioni per funzionalità aggiuntive (PostGIS, pgvector, etc.)

Configurazione Base

Campo Descrizione
Enabled Attiva o disabilita PostgreSQL
Version Versione di PostgreSQL da utilizzare

Configurazione Utenti

Campo Descrizione
User Name Nome dell'utente amministratore (default: postgres)
User Password Password dell'utente amministratore

Nota: A differenza di MySQL, PostgreSQL usa un singolo super user che ha accesso completo.

Configurazione Database

Campo Descrizione
Database Name Nome del database da creare

Nota: PostgreSQL usa UTF-8 come encoding di default, non è necessario configurare charset separatamente.

Configurazione Rete

Campo Descrizione
Exposed Port Porta esterna per connessioni remote (default: 5432)

Configurazione Docker

Campo Descrizione
CPU Cores Limit Limite CPU per il container
Memory Limit (MB) Limite memoria per il container in MB

File di Configurazione

File Descrizione
postgresql.conf Configurazione principale di PostgreSQL
Dockerfile File Docker per la build dell'immagine

Connessione dall'Applicazione

Dalla rete Docker interna:

  • Host: postgresql
  • Porta: 5432
  • Database: [nome_database]
  • Username: [user_name]
  • Password: [user_password]

Versioni Supportate

Versione Stato Note
16 Attiva Ultime funzionalità, consigliata
15 Attiva Stabile
14 Attiva Supporto a lungo termine

Best Practices

  1. Configura shared_buffers al 25% della RAM disponibile
  2. Usa JSONB invece di JSON per migliori prestazioni
  3. Crea indici appropriati per le query frequenti
  4. Usa connection pooling (es. PgBouncer) per molte connessioni
  5. Esegui VACUUM regolarmente per mantenere le prestazioni

Prossimi Passi

  • Node.js - Runtime ideale per PostgreSQL
  • Redis - Cache per migliorare le prestazioni