Migracija sa MySQL-a na PostgreSQL

From RCUB
Jump to: navigation, search
(Dodao podnaslove)
m
 
Line 1: Line 1:
PostgreSQL se čita kao "Postgres Kju El" ili samo "Postgres".
+
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]]
  
== JDBC parametri konekcije za PostgreSQL ==
+
==Promene na aplikaciji==
 
+
JDBC connection string je oblika:
+
 
+
  jdbc:postgresql://netis-test.rcub.bg.ac.yu/e_university_v5
+
 
+
Default port je 5432, a drajver je:
+
 
+
  org.postgresql.Driver.
+
 
+
 
+
== Promene na aplikaciji ==
+
  
 
U slučaju da se koristi JPA za apstrakciju pristupa bazi, i da se koriste  
 
U slučaju da se koristi JPA za apstrakciju pristupa bazi, i da se koriste  
Line 27: Line 16:
 
Pored navedenih, naišli smo na još dve stvari:
 
Pored navedenih, naišli smo na još dve stvari:
  
# U MySQL-u u insert statmentu za BOOLEAN polje je dozvoljeno staviti  
+
# U MySQL-u u insert statmentu za BOOLEAN polje je dozvoljeno staviti vrednost 1, u Postgresu mora '1' (pod apostrofima)
vrednost 1, u Postgresu mora '1' (pod apostrofima)
+
# LONGBLOB u MySQL-u se escape-uje heksadekadno, a BYTEA u Postgresu oktalno
# 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  
 
Pored toga, vredi pomenuti da je UTF-8 podržan i u Postgresu, kao i  
Line 37: Line 24:
 
==Performanse==
 
==Performanse==
  
Merenje pod koliko-toliko ravnopravnim uslovima (isti  
+
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.
 
server, isti skup podataka, isti upit, deset ponavljanja) je pokazalo +30% u brzini u korist Postgresa.
 
==Hijerarhija==
 
 
Obratite takođe pažnju, hijerarhija u Postgresu je baza, šema, tabela.
 
JDBC string za konekciju prima kao parametar samo ime baze, a ne i šemu.
 
Tako da je verovatno najlakše kreirati posebne baze i koristiti njihove
 
default "public" šeme.
 
 
==PSQL komande==
 
 
psql komande koje vam mogu biti od interesa:
 
 
\l - listanje baza podataka
 
\c - izbor aktivne baze podataka
 
\dn - listanje svih sema u izabranoj bazi
 
\du - listanje svih korisnika
 
 
CREATE USER username PASSWORD 'l0zinka'; -- kreiranje korisnika
 
GRANT ALL ON SCHEMA public TO username; -- dodeljivanje privilegija
 
 
==Konfigurisanje servera==
 
 
Da bi ste omogućili pristup serveru preko JDBC-ja odnosno TCP/IP-ja,
 
potrebno je da u data/postgresql.conf navedete:
 
 
listen_addresses = '*'          # what IP address(es) to listen on;
 
port = 5432                    # (change requires restart)
 
 
i da u data/pg_hba.conf dodate:
 
 
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
 
host    mydb        ognjen      147.91.4.66/32        md5
 

Latest revision as of 12:03, 14 May 2009

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox