|
|
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]
| |