Migracija sa MySQL-a na PostgreSQL

From RCUB
Jump to: navigation, search

Timovi koji imaju nameru da MySQL zamene sa PostgreSQL-om, ovaj dokument mogu da koriste kao polaznu osnovu. PostgreSQL se čita kao "Postgres Kju El" ili samo "Postgres". Takodje, pogledajte stranicu PostgreSQL

Promene na aplikaciji

U slučaju da se koristi JPA za apstrakciju pristupa bazi, i da se koriste samo JPQL upiti, nikakve promene na aplikaciji nisu potrebne. Jedino je potrebno promeniti parametre konekcije.

U slucaju da se koriste Native upiti pod JPA-om, ili da se koristi JDBC, potrebno je nekoliko zahvata na MySQL upitima (npr. skriptovi za kreiranje i insertovanje podataka) da bi bili kompatibilni sa Postgresom. Sve promene koje treba obaviti na njima su lepo dokumentovane na:

http://www.markslade.name/Articles.html?a=9

Pored navedenih, naišli smo na još dve stvari:

  1. U MySQL-u u insert statmentu za BOOLEAN polje je dozvoljeno staviti vrednost 1, u Postgresu mora '1' (pod apostrofima)
  2. LONGBLOB u MySQL-u se escape-uje heksadekadno, a BYTEA u Postgresu oktalno

Pored toga, vredi pomenuti da je UTF-8 podržan i u Postgresu, kao i srpsko sortianje (zavisi od podešavanja locale-a prilikom kreiranja baze).

Performanse

Vrlo površno merenje pod koliko-toliko ravnopravnim uslovima (isti server, isti skup podataka, isti upit, deset ponavljanja) je pokazalo +30% u brzini u korist Postgresa.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox