|
|
| Line 1: |
Line 1: |
| − | 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". | + | 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==
| + | |
| − | | + | |
| − | JDBC connection string je oblika:
| + | |
| − | | + | |
| − | jdbc:postgresql://server.rcub.bg.ac.yu/baza
| + | |
| − | | + | |
| − | Default port je 5432, a drajver je:
| + | |
| − | | + | |
| − | org.postgresql.Driver
| + | |
| | | | |
| | ==Promene na aplikaciji== | | ==Promene na aplikaciji== |
| Line 36: |
Line 26: |
| | Vrlo površno 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==
| |
| − |
| |
| − | 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''' je linux konzolni SQL klijent. Pokretanje iz klijenta kao '''root''' će vam verovatno prourokovati
| |
| − | poruku o grešci
| |
| − |
| |
| − | psql: FATAL: database "root" does not exist
| |
| − |
| |
| − | Jer '''psql''' pokusava da otvori bazu koja ima isti naziv kao i korisnik, a koja ne postoji. Zbog toga je potrebno prvo se
| |
| − | prebaciti na korisnika postgres sa
| |
| − |
| |
| − | su - postgres
| |
| − |
| |
| − | i zatim pozvati '''psql'''.
| |
| − |
| |
| − | Komande koje vam mogu biti od interesa:
| |
| − |
| |
| − | \l - listanje baza podataka
| |
| − | \c - izbor aktivne baze podataka
| |
| − | \dn - listanje svih sema u izabranoj bazi
| |
| − | \dt - listanje svih tabela
| |
| − | \du - listanje svih korisnika
| |
| − |
| |
| − | Kreiranje baze:
| |
| − |
| |
| − | CREATE DATABASE "TestBaza" WITH ENCODING='UTF8';
| |
| − |
| |
| − | Kreiranje korisnika:
| |
| − |
| |
| − | CREATE USER username PASSWORD 'l0zinka';
| |
| − |
| |
| − | Izbor baze:
| |
| − |
| |
| − | \c TestBaza
| |
| − |
| |
| − | Dodeljivanje privilegija nad default "public" šemom.
| |
| − |
| |
| − | GRANT ALL ON SCHEMA public TO username;
| |
| − |
| |
| − | ===Kratka myslq -> psql tabela===
| |
| − | {| class="wikitable" border="1" style="background:#F3F3F3"
| |
| − | |-
| |
| − | ! MySQL <code>mysql</code>
| |
| − | ! PostgreSQL <code>psql</code>
| |
| − | |-
| |
| − | | <code>SHOW COLUMNS;</code>
| |
| − | | <code>\d ''table-name''</code>
| |
| − | |-
| |
| − | | <code>SHOW DATABASES;</code>
| |
| − | | <code>\l</code>
| |
| − | |-
| |
| − | | <code>SHOW PROCESSLIST;</code>
| |
| − | | <code>SELECT * FROM pg_stat_activity;</code>
| |
| − | |-
| |
| − | | <code>SHOW TABLES;</code>
| |
| − | | <code>\d</code>
| |
| − | |-
| |
| − | | <code>SHOW USERS;</code>
| |
| − | | <code>\du</code>
| |
| − | |-
| |
| − | | <code>USE ''db-name'';</code>
| |
| − | | <code>\c ''db-name''</code>
| |
| − | |}
| |
| − | [http://trac.biostr.washington.edu/trac/wiki/PostgreSql]
| |
| − |
| |
| − | ==Konfigurisanje servera==
| |
| − |
| |
| − | Da biste omogućili pristup serveru preko JDBC-ja odnosno TCP/IP-ja,
| |
| − | potrebno je da u '''data/postgresql.conf''' (najčešće u /var/lib/psql) 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.123/32 md5
| |
| − |
| |
| − | posle promena na kofiguracionim fajlovima potrebno je da restartujete server ili da kao korisnik '''postgres''' pozovete reload konfiguracije:
| |
| − |
| |
| − | sudo -u postgres pg_ctl reload -D /var/lib/pgsql/data/
| |
| − |
| |
| − | ==Spoljašne veze==
| |
| − | * [http://trac.biostr.washington.edu/trac/wiki/PostgreSql lista psql komandi]
| |