Migrare un database da MySQL a PostgreSQL
Se vuoi portare la tua applicazione da MySQL a PostgreSQL, puoi inviare la richiesta e ricevere un piano di migrazione con stima di tempi, rischi e fermo previsto.
Tempo tecnico indicativo
16–40 ore
Fascia di costo orientativa
900–2.400 €
Complessità tipica
Alta
In cosa consiste il problema
PostgreSQL offre funzionalità come JSONB, ricerca full text, tipi avanzati e vincoli più rigorosi. Migrare però non è solo copiare tabelle: tipi di dato, auto incremento, collation, funzioni e alcune sintassi SQL sono diversi.
Una migrazione ben fatta prevede prove ripetute su copia, verifica numerica dei dati e un passaggio finale pianificato.
Cause frequenti
- Tipi di dato diversi: TINYINT(1), DATETIME, ENUM, UNSIGNED da convertire.
- SQL specifico di MySQL: backtick, LIMIT x,y, GROUP BY permissivo, funzioni proprietarie.
- Dati sporchi: date 0000-00-00 e valori non validi accettati da MySQL.
Come si risolve
- Conversione schema: tipi, indici, vincoli, sequenze.
- Migrazione dati verificata: conteggi e checksum per tabella.
- Adeguamento query: revisione del codice applicativo.
- Passaggio pianificato: sincronizzazione delle differenze e fermo minimo.
Un esempio tipico
Un'applicazione con 120 tabelle passa a PostgreSQL per usare JSONB e la ricerca full text. Tre migrazioni di prova su copia permettono di correggere tipi, date non valide e una ventina di query specifiche di MySQL. Il passaggio finale avviene di notte con una sincronizzazione delle sole differenze e un fermo di circa mezz'ora.
Scenario illustrativo, non riferito a un cliente reale.
Quando serve uno sviluppatore
Per database in produzione con dati importanti: un errore di conversione può emergere settimane dopo, quando è difficile ricostruire i dati.
Tecnologie coinvolte
Quanto tempo può richiedere e quanto può costare
Indicativamente 16–40 ore di lavoro tecnico, per una fascia di 900–2.400 €.
Le variabili che incidono di più:
- dimensione del database
- quantità di SQL specifico nel codice
- qualità dei dati esistenti
- fermo accettabile
Le fasce di prezzo e di tempo indicate sono orientative e dipendono da complessità, qualità del codice esistente, accessi disponibili, documentazione e requisiti effettivi. Non costituiscono preventivo.
Informazioni da preparare
- Dump dello schema
- Dimensione del database
- Codice o file SQL dell'applicazione
- Finestra di manutenzione disponibile
Problemi simili
- Sviluppatore PostgreSQL: progettazione, ottimizzazione e migrazioni Esperto PostgreSQL per query lente, migrazione da MySQL o SQL Server, replica, backup e ricerca…
- Sincronizzare due database tra sede, cloud e applicazioni Gestionale in sede e app in cloud con dati da allineare? Sincronizzazione incrementale tra database…
- Backup automatico del database e prova di ripristino Backup automatici e verificati di MySQL, PostgreSQL o SQL Server, copia fuori sede, retention e…
Correggere errore 500 su applicazione PHP dopo aggiornamento del server
Dopo che l'hosting ha aggiornato la versione di PHP, il gestionale interno mostra una pagina bianca con errore 500 su quasi tutte le pagine. Il login funziona…
- Fascia orientativa
- 80–250 €
- Tempo tecnico
- 1–4 ore
Convertire un sito PHP statico in un piccolo CMS gestibile
Il nostro sito è fatto di pagine PHP con i testi scritti nel codice: per cambiare una news o un orario dobbiamo chiamare un programmatore. Vorremmo poter…
- Fascia orientativa
- 500–1.300 €
- Tempo tecnico
- 10–24 ore
Aggiornare applicazione da PHP 7.4 a PHP 8.3
Il nostro portale clienti gira ancora su PHP 7.4, non più supportato. Il fornitore di hosting ci ha comunicato che entro qualche mese la versione verrà…
- Fascia orientativa
- 900–2.400 €
- Tempo tecnico
- 16–40 ore
Creare API REST per esporre il catalogo prodotti ai rivenditori
Vorremmo permettere ai nostri rivenditori di leggere in automatico il catalogo prodotti, i prezzi riservati e la disponibilità di magazzino, invece di inviare…
- Fascia orientativa
- 350–900 €
- Tempo tecnico
- 6–16 ore
Domande frequenti
Quanto dura il fermo?
Con una buona preparazione da pochi minuti a qualche ora, a seconda della dimensione e della strategia di sincronizzazione.
L'applicazione va riscritta?
No, vanno adeguate le query non compatibili; il numero dipende da quanto SQL specifico di MySQL è stato usato.
Contenuto revisionato il 05/10/2026.