Effettuare il passaggio da MySQL a PostgreSQL?

7

Ho passato l'ultimo anno a stare veramente bene con MySQL, ma a causa della sua crescente tendenza e del mio desiderio di omogeneizzare le mie app web con Heroku, mi piacerebbe iniziare a utilizzare PostgreSQL per le mie app web. Ci sono risorse disponibili per l'apprendimento di PostgreSQL, ma non voglio davvero che i concetti di database mi vengano spiegati da zero, e non voglio dover imparare di nuovo tutte le cose che sono praticamente le stesse.

Quali sono le differenze critiche che devo comprendere - sintattiche e concettuali - tra MySQL e PostgreSQL che mi condizioneranno quotidianamente?

    
posta Andrew Latham 21.08.2012 - 06:06
fonte

2 risposte

4

Dipende in qualche modo da come stai usando il database. Se stai utilizzando un ORM, potresti non notare alcun problema.

Ho passato un'applicazione ad usare Postgresql (per la distribuzione su Heroku), ma solo dopo aver scoperto situazioni in cui l'SQL creato da Rails ha funzionato bene su SQLite, ma non su Postgresql. Invariabilmente, i problemi erano causati quando i join stavano interrogando lo stesso nome di colonna su più tabelle. A SQLite non importava, ma Postgresql voleva che il nome della relazione fosse specificato se era nella clausola 'where'.

Anche se ho lavorato con MySQL e Postgresql, non sono sicuro di nessuna differenza concettuale fondamentale tra loro. Sono entrambi database client-server abbastanza solidi, sebbene PG stia generando una reputazione migliore.

Tuttavia, ci sono sicuramente alcune differenze sintattiche critiche tra MySQL e Postgresql. Ho trovato una guida decente a quelli qui: link

    
risposta data 21.08.2012 - 08:21
fonte
1

What are the critical differences that I need to understand - syntactical and conceptual - between MySQL and PostgreSQL that will affect me on a day-to-day basis?

Il più grande è ciò che il database è lì per. MySQL è costruito, essenzialmente, per essere un archivio di informazioni per la tua applicazione. PostgreSQL è lì per essere una soluzione di gestione delle informazioni per diverse applicazioni che colpiscono gli stessi dati. Questa differenza arriva in molti modi diversi. Ad esempio, MySQL consente alle applicazioni di impostare la propria sql_mode che influisce su quali dati saranno considerati validi. PostgreSQL non ha questa opzione. Di conseguenza, in MySQL, si è strongmente incoraggiati a pensare a SQL come a un'API application-private, mentre in PostgreSQL è un'API che può essere condivisa in modo sicuro tra le applicazioni. Ciò porta a molte piccole differenze. MySQL è probabilmente più facile da portare a un'applicazione, ma PostgreSQL è probabilmente più facile da portare un ambiente dati a ....

Potresti trovare quanto segue per aiutarti: link

    
risposta data 18.02.2013 - 05:08
fonte

Leggi altre domande sui tag