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
- Configura shared_buffers al 25% della RAM disponibile
- Usa JSONB invece di JSON per migliori prestazioni
- Crea indici appropriati per le query frequenti
- Usa connection pooling (es. PgBouncer) per molte connessioni
- Esegui VACUUM regolarmente per mantenere le prestazioni
Prossimi Passi
- Node.js - Runtime ideale per PostgreSQL
- Redis - Cache per migliorare le prestazioni