View source
From RCUB
for
PostgreSQL
Jump to:
navigation
,
search
==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 ==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 prouzrokovati 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; Alternativa kreiranju korisnika koji pristupa ''public'' šemi, je kreiranje istoimene šeme i korisnika sa CREATE SCHEMA AUTHORIZATION username čime će biti kreirana šema ''username'' nad kojom korisnik ''username'' po defaultu ima sve privilegije (nije potreban grant). ===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/pgsql) 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/ ==Koriscenje proceduralinih jezika== PostgreSQL podrzava vise proceduralnih jezika: PL/pgSQL, PL/Tcl, PL/Perl, PL/Python. Uključivanje podrške za odgovarajući jezik na nivou baze podataka se radi sa, npr: CREATE LANGUAGE plpgsql; ==Backup i restore== Backup celog DB klastera (dakle svih baza podataka) radi lokalni korisnik 'postgres' direktno na serveru sa: pg_dumpall > db.dump Restore dumpa baze podataka radi na sveze instaliranom postgresu tj. sveze inicijalizovanom DB klasteru [1] lokalni korisnik 'postgres': psql -f db.dump postgres Ukoliko za restore nije na raspolaganju sveze instaliran Postgresa, tj. sveze inicijalizovan klaster, vec na primer treba uraditi restore posto je klaster ostecen (corrupted), onda je procedura sledeca: # Bekapovati fajlove pg_hba.conf i postgresql.conf iz DB klaster direktorijuma (najcesce /var/lib/pgsql/data). # Obrisati ceo DB klaster direktorijum. # Inicijalizovati DB klaster. # psql -f db.dump postgres Nakon restore-a DB klastera pametno je da se update-uju statistike sa: vacuumdb -az ==Spoljašne veze== * [http://trac.biostr.washington.edu/trac/wiki/PostgreSql lista psql komandi]
Return to
PostgreSQL
.
Personal tools
Log in
Namespaces
Page
Discussion
Variants
Views
Read
View source
View history
Actions
Search
Navigation
Main page
Community portal
Current events
Recent changes
Random page
Help
Toolbox
What links here
Related changes
Special pages