Linux platform alatt
Amennyiben linux szervert alkalmaz, úgy a szerver rendszergazdája végzi ezt a feladatot (függően az alkalmazott Linux csomagtól)
A telepítőkészlet innen tölthető le. Fontos, hogy linux alatt is célszerű a legfeljebb 9.0.6 verzió alkalmazása! Mivel a bytea mezők Escape/Hex kezelését a szerver másmódon végzi, így a már felépített adatbázis áttelepítése hibás lehet.
Windows platform alatt
– Fontos, hogy a szerverként alkalmazott Windows legalább XP Professional legyen (a Home verzióval a hálózati user-ek adminisztrálásnak nehézségei miatt gond lehet)
– A szerver gépnek az irodai hálózaton belül fix ipcímmel kell rendelkeznie, vagy a DHCP kiszolgálónak MAC Address alapján mindig ugyanazt az ip címet kell kiosztania erre a gépre.
– Amennyiben van a gépen PostgreSQL telepítve, azt célszerű uninstallálni a telepítés előtt. Továbbá az uninstallálás után hátramaradt fájlokat (adattáblák és egyéb konfigfájlok) is érdemes törölni.
– Windows alá legfeljebb a 9.0.6-os PostgreSQL verziót ajánljuk telepíteni, innen: http://letoltes.multiszolg.hu/_postgresql/
A telepítés folyamata során a telepítő készlet a Windows alá létrehoz egy postgres hálózati felhasználót.
Ha már ez létezik – lehet így hiszen újrainstallálunk – akkor két lehetőségünk van:
1.) ismerjük a jelszót (jellemzően: postgres01), akkor elegendő a telepítés során megadni.
2.) nem ismerjük a jelszót: akkor a telepítést megelőzően törölni kell a postgres hálózati felhasználót. Ez windows XP alatt { hihetetlen módon 🙂 } a következő paranccsal is elérhető: net user postgres /delete
A telepítés végeztével a telepítő felajánlja a Stack Builder telepítését, ezt nem szükséges installálni.
Első használat előtti beállítások:
postgresql.conf fájlban a következő sor hatására mindenhonnan elérhető lesz a szerverünk: (ezt csak a 8.x verziók esetében kell elvégezni, újabbaknál már eleve így települ a szerver)
listen_addresses = ‘*’
ugyanitt a bytea_output = ‘escape’ sor beállítása szükséges a 9.x.x verziók esetében.
pg_hba.conf fájban szabályozható a szerver beépített tűzfala:
1. beállítási mód, amikor mindenhonnan elérhető a szerverünk, ezt csak akkor érdemes alkalmazni, ha az internet felől tűzfal védi az irodai hálózatot:
host all all 0.0.0.0/0 md5
2. beállítási mód, csak a helyi hálózatról érhető el a szerver (a helyi hálózat ip címét értelemszerűen a helyi viszonyoknak megfelelően kell állítani)
host all all 192.168.1.0/24 md5
3. beállítási mód (minden más, pl. lehet a végrehajtó otthonába bekötött fix ipcímű internet elérésről engedélyezni a belépést)
A beállítások után a szervert újra kell indítani, erre a Programok / PostgreSQL x.x mappában van mód: Reload configuration, Stop service, Start service ikonok segítenek. Windows alatt esetleg a gép újraindítás segíthet, ha nincs más mód.
Adatbázis létrehozása
pgAdmin III segítségével kapcsolódjunk a szerverhez, a kapcsolódási adatok:
A localhost helyére írható a szerver gép IP címe is.
A jelszó mezőbe a postgres felhasználó jelszava kerül.
Első kapcsolódáskor a Databases (adatbázisok) alatt csak a postgres nevű adatbázis lesz fellelhető.
Álljunk rá erre az adatbázisra, és a fenti SQL ikonnal nyissunk egy ablakot:
Először a plpgsql nyelvet kell telepíteni a tárolt eljárások működtetéséhez:
CREATE OR REPLACE FUNCTION plpgsql_call_handler()
RETURNS language_handler AS
‘$libdir/plpgsql’, ‘plpgsql_call_handler’
LANGUAGE ‘c’ VOLATILE;
CREATE TRUSTED PROCEDURAL LANGUAGE ‘plpgsql’
HANDLER plpgsql_call_handler;
A szkript futtatása a zöld play gombbal történik.
A felhasználót a következő szkript segítségével lehet létrehozni:
CREATE ROLE “VhUser” LOGIN
ENCRYPTED PASSWORD ‘md5a71403dabb7a6cb4ebe7dfd8c9096b0b’
NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
Adatbázis pedig a következő szkripttel hozható létre:
CREATE DATABASE “Vh_Data”
WITH OWNER = “VhUser”
ENCODING = ‘UTF8’
TABLESPACE = pg_default
CONNECTION LIMIT = -1;
A legtöbb helyen a WIN1250-es kódolást alkalmazza az adatbázis, de ezt ne vegye biztosra!
Meg kell nézni a korábbi szerveren a pgadmin-ban, hogy milyen kliens kódolással lett az adatbázis adatokkal feltöltve és azt kell használni hogy az adatok sérülés mentesen jelenjenek meg a kliensen:
.
ALTER DATABASE “Vh_Data” SET client_encoding=’win1250′;
Ha minden rendben lefutott, akkor már az adatbázisok között a Vh_Data adatbázis is megjelent.
A mentés visszaállítása:
A Vh_Data adatbázison a jobb egér gomb segítségével a következő ablakban ki lehet választani a Restore (adat visszaállítás) funkciót:
A visszaállítást a pg_restore.exe végzi (a szerver bin könyvtárában levő), az új telepítésű szerver maximum 9.0.6-os verzió legyen. A kliensprogram backup_system könyvtárában levő pg_restore és pg_dump másolatokat alkalmazza a programból történő mentés elkészítésekor. Jelenleg a 9.0.6.-os verzió pg_dump.exe-jét használja a mentés létrehozására a kliens.
Az ablakban csak a mentésfájl helyét kell megadni, és az OK gombbal már indítható is a visszaállítás.
Fontos, hogy az autoincrement (serial) típusú mezők folyamatos sorszámozását a Sequences-ek biztosítják. Mentés visszaállítás esetén néha előfordul, hogy ezek az adatok nem frissülnek… ennek következtében egy táblában egy új tétel felvitele key violation hibával szállhat el. A mezők frissítését a következő paranccsal lehet elvégezni: SELECT sys_refresh_sequences();
Postgresq szerver program letölthető a
www.multiker.hu szerverünkről
vagy
a postgresql.org-ról (linux, windows)