PostgreSQLMySQL
A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
9. sor: | 9. sor: | ||
*Természetesen jelentős szolgáltatás-növelés történt azóta |
*Természetesen jelentős szolgáltatás-növelés történt azóta |
||
*Kliens-szerver architektúrájú (a szerver program neve postmaster) |
*Kliens-szerver architektúrájú (a szerver program neve postmaster) |
||
+ | *UNIX-alapú rendszereken fut csak, ezért Windowson csak is Cygwin vagy MinGW telepítése után használható (mármint a szerverprogram) |
||
===Telepítés=== |
===Telepítés=== |
||
39. sor: | 40. sor: | ||
*A rendszergazda beléphet az 'su postgres' paranccsal (Ubuntu esetén 'sudo su postgres') |
*A rendszergazda beléphet az 'su postgres' paranccsal (Ubuntu esetén 'sudo su postgres') |
||
*Felhasználó létrehozása a 'createuser <username>' paranccsal. Néhány kapcsoló: |
*Felhasználó létrehozása a 'createuser <username>' paranccsal. Néhány kapcsoló: |
||
− | ** |
+ | **-s, --superuser: a felhasználó superuser lesz |
− | *Adatbázis létrehozása 'createdb <adatbazisnev>' paranccsal |
+ | **-d, --createdb: a felhasználó hozhat majd létre adatbázisokat |
+ | **-D, --nocreatedb |
||
+ | **-r, --createrole: a felhasználó hozhat majd létre szerepeket (tehát felhasználókat vagy csoportokat) |
||
+ | **-R, --nocreaterole |
||
+ | **-c, --connection-limit: egyszerre hány kapcsolatot létesíthet a felhasználó |
||
+ | **-P: a parancs kiadása után meg kell adni jelszót |
||
+ | **-E: a jelszót titkosítva tárolja a szerver |
||
+ | **-N: jelszó ne legyen titkosítva |
||
+ | *Felhasználó törlése 'dropuser <username>' paranccsal |
||
+ | *Adatbázis létrehozása 'createdb <adatbazisnev>' paranccsal. Néhány kapcsoló: |
||
+ | **-D, --tablespace: tablespace megadása. A tablespace egy könyvtár a file rendszeren, ahová a tablespace-hez tartozó táblák eltárolásra kerülnek. A tablespace-nek van neve, amivel hivatkozni lehet rá (hasznos lehet pl., ha több különböző sebességű lemezünk van) |
||
+ | **-O, --owner: melyik felhasználó lesz az adatbázis tulajdonosa |
||
+ | **-T, --template: sablon adatbázis, amely alapján az új adatbázis felépül. Kezdetben két sablon van: |
||
+ | ***template1: ez az alapértelmezett sablon, ha nem adjuk meg a -T kapcsolót, akkor ezt az adatbázist másolja át az új helyére is. Ilyen módon állíthatunk be telepítés-specifikus beállításokat, alapvető táblákat, felhasználókat stb. amelyek/akik minden adatbázis részei. |
||
+ | ***template0: csupasz sablon, ezt az adatbázist soha ne módosítsuk az initdb lefuttatása után (hasznos lesz pl., ha pg_dump segítségével építünk fel újra régebbi adatbázist) |
||
+ | **-h, --host: melyik hoston fut a szerver. Ha /-jellel kezdődik, akkor Unix-domain socketet adunk meg |
||
+ | **-p, --port: melyik porton figyel a szerver |
||
+ | **-U, --username: melyik felhasználóként csatlakozzon alapértelmezés szerint |
||
+ | **-W, --password: kötelező legyen jelszó megadása |
||
+ | *Adatbázis törlése 'dropdb <adatbazisnev>' paranccsal |
||
*Adatbázisba belépni a 'psql <adatbazisnev>' paranccsal lehet |
*Adatbázisba belépni a 'psql <adatbazisnev>' paranccsal lehet |
||
**Ha nem adjuk meg az adatbazis nevét, akkor a felhasználó alapértelmezett adatbázisába lép be. Ha ilyen nem létezik, hiba. (Itt felhasználó alatt az operációs rendszer felhasználóját értjük.) |
**Ha nem adjuk meg az adatbazis nevét, akkor a felhasználó alapértelmezett adatbázisába lép be. Ha ilyen nem létezik, hiba. (Itt felhasználó alatt az operációs rendszer felhasználóját értjük.) |
||
**Ha más felhasználó adatbázisába szeretnénk belépni, mint amelyik be van jelentkezve az operációs rendszerbe (pl. mert más a felhasználónevünk a kettőben - nem kell egyezniük, semmi közük egymáshoz), akkor az -U kapcsolót használhatjuk. |
**Ha más felhasználó adatbázisába szeretnénk belépni, mint amelyik be van jelentkezve az operációs rendszerbe (pl. mert más a felhasználónevünk a kettőben - nem kell egyezniük, semmi közük egymáshoz), akkor az -U kapcsolót használhatjuk. |
||
+ | *A felsorolt programocskák (createuser, dropuser, createdb, dropdb) frontendet jelentenek bizonyos PostreSQL-utasításokhoz. Ugyanezek a műveletek elvégezhetőek tehát PostgreSQL parancssornál is, CREATE ROLE, DROP ROLE, CREATE DATABASE, illetve DROP DATABASE utasításokkal. |
A lap 2007. december 8., 18:46-kori változata
Tartalomjegyzék |
1 PostgreSQL és MySQL összehasonlítása adminisztrátor szemszögéből
Először külön áttekintem a két DBMS-t, majd a végén térek rá a különbségekre.
1.1 PostgreSQL
- Többfelhasználós RDBMS
- Berkeley Egyetemen kifejlesztett POSTGRES objektum-relációs adatbáziskezelő rendszer nyílt forrású bővítése
- Természetesen jelentős szolgáltatás-növelés történt azóta
- Kliens-szerver architektúrájú (a szerver program neve postmaster)
- UNIX-alapú rendszereken fut csak, ezért Windowson csak is Cygwin vagy MinGW telepítése után használható (mármint a szerverprogram)
1.1.1 Telepítés
- RedHat esetén rpm csomagból. Le kell tölteni az összes szükséges csomagot, majd futtatni kell a következő parancsot:
- rpm -ivh postgresql-*
- Néhány főbb csomag, amikre szükség lehet:
- postgresql : alapcsomagok
- postgresql-contrib : kiegészítő csomagok
- postgresql-devel : alkalmazások fejlesztéséhez és fordításához. A kiszolgáló telepítéséhez feltétlenül szükséges
- postgresql-jdbc : Java DataBase Connectivity-t lehetővé tevő csomag
- postgresql-libs : megosztott programkönyvtárak
- postgresql-odbc : Open DataBase Connectivity, API amit nagyon sok eszköz támogat
- postgresql-perl : Perlben lehessen kiegészítőket írni
- postgresql-python : ugyanez Pythonban
- postgresql-server : akkor kell, ha nem csak távoli hosthoz kapcsolódunk, hanem helyileg is működtetünk szervert
- Debian-alapú rendszer esetén mindössze egy parancs a telepítés:
- apt-get install postgresql
- Természetesen forrásból is telepíthető a szokásos ./configure, make, make install hármassal. A forrás letölthető a http://www.postgresql.org oldalról
- A szerver elindítása /etc/init.d/postgresql start paranccsal történik. Előfordulhat, hogy a postgresql szó után kötőjelet, majd a verziószámot meg kell adni.
1.1.2 Adminisztratív feladatok ellátása
1.1.2.1 Felhasználók, adatbázisok létrehozása
- Kezdetben egyetlen felhasználó létezik, melynek neve postgres.
- A rendszergazda beléphet az 'su postgres' paranccsal (Ubuntu esetén 'sudo su postgres')
- Felhasználó létrehozása a 'createuser <username>' paranccsal. Néhány kapcsoló:
- -s, --superuser: a felhasználó superuser lesz
- -d, --createdb: a felhasználó hozhat majd létre adatbázisokat
- -D, --nocreatedb
- -r, --createrole: a felhasználó hozhat majd létre szerepeket (tehát felhasználókat vagy csoportokat)
- -R, --nocreaterole
- -c, --connection-limit: egyszerre hány kapcsolatot létesíthet a felhasználó
- -P: a parancs kiadása után meg kell adni jelszót
- -E: a jelszót titkosítva tárolja a szerver
- -N: jelszó ne legyen titkosítva
- Felhasználó törlése 'dropuser <username>' paranccsal
- Adatbázis létrehozása 'createdb <adatbazisnev>' paranccsal. Néhány kapcsoló:
- -D, --tablespace: tablespace megadása. A tablespace egy könyvtár a file rendszeren, ahová a tablespace-hez tartozó táblák eltárolásra kerülnek. A tablespace-nek van neve, amivel hivatkozni lehet rá (hasznos lehet pl., ha több különböző sebességű lemezünk van)
- -O, --owner: melyik felhasználó lesz az adatbázis tulajdonosa
- -T, --template: sablon adatbázis, amely alapján az új adatbázis felépül. Kezdetben két sablon van:
- template1: ez az alapértelmezett sablon, ha nem adjuk meg a -T kapcsolót, akkor ezt az adatbázist másolja át az új helyére is. Ilyen módon állíthatunk be telepítés-specifikus beállításokat, alapvető táblákat, felhasználókat stb. amelyek/akik minden adatbázis részei.
- template0: csupasz sablon, ezt az adatbázist soha ne módosítsuk az initdb lefuttatása után (hasznos lesz pl., ha pg_dump segítségével építünk fel újra régebbi adatbázist)
- -h, --host: melyik hoston fut a szerver. Ha /-jellel kezdődik, akkor Unix-domain socketet adunk meg
- -p, --port: melyik porton figyel a szerver
- -U, --username: melyik felhasználóként csatlakozzon alapértelmezés szerint
- -W, --password: kötelező legyen jelszó megadása
- Adatbázis törlése 'dropdb <adatbazisnev>' paranccsal
- Adatbázisba belépni a 'psql <adatbazisnev>' paranccsal lehet
- Ha nem adjuk meg az adatbazis nevét, akkor a felhasználó alapértelmezett adatbázisába lép be. Ha ilyen nem létezik, hiba. (Itt felhasználó alatt az operációs rendszer felhasználóját értjük.)
- Ha más felhasználó adatbázisába szeretnénk belépni, mint amelyik be van jelentkezve az operációs rendszerbe (pl. mert más a felhasználónevünk a kettőben - nem kell egyezniük, semmi közük egymáshoz), akkor az -U kapcsolót használhatjuk.
- A felsorolt programocskák (createuser, dropuser, createdb, dropdb) frontendet jelentenek bizonyos PostreSQL-utasításokhoz. Ugyanezek a műveletek elvégezhetőek tehát PostgreSQL parancssornál is, CREATE ROLE, DROP ROLE, CREATE DATABASE, illetve DROP DATABASE utasításokkal.