Bevezetés
PostgreSQL egy erős objektum-relációs adatbázis-kezelő rendszer, amelyet egy rugalmas BSD-stílusú licenc. PostgreSQL tartalmaz számos fejlett funkciók, nagyon gyors, szabványoknak megfelelő.
PostgreSQL van kötések sok programozási nyelvek, mint a C, C++, Python, Java, PHP, Ruby… Ezt fel lehet használni, hogy a hatalom semmit egyszerű webes alkalmazások hatalmas adatbázisok millió rekordok.,
kliens telepítés
Ha csak külső PostgreSQL szerverhez szeretne csatlakozni, ne telepítse a fő PostgreSQL csomagot, hanem telepítse a PostgreSQL kliens csomagot. Ehhez használja a következő parancsot:
sudo apt-get install postgresql-client
ezután csatlakozik a kiszolgálóhoz a következő paranccsal:
psql -h server.domain.org database user
miután beillesztette a PostgreSQL-t sorparancsokkal., Előfordulhat például, illessze be a következő
SELECT * FROM table WHERE 1;
kilép a kapcsolatot
\q
Telepítés
a szervert telepíteni helyben használata a parancssorba írja be:
sudo apt-get install postgresql postgresql-contrib
Ez majd telepítse a legújabb verzió az Ubuntu kiadás a leggyakrabban használt bővítmények érte.
Lásd az alábbi” külső linkek ” lehetőséget az újabb kiadások beszerzéséhez.,
A PostGIS, az eljárási nyelvek, az ügyfél interfészek stb. telepítése
további csomagok eljárási nyelvi futási időket tartalmaznak, olyan kiegészítőket, mint a PostGIS, a nyelvi kliens interfészek, például a psycopg2 a Python számára stb. Akkor kap egy lista:
apt-cache search postgres
adminisztráció
pgAdmin III egy praktikus GUI PostgreSQL, elengedhetetlen, hogy a kezdők. A telepítéshez írja be a parancssorba:
sudo apt-get install pgadmin3
használhatja a Synaptic csomagkezelőt is a rendszerből>adminisztrációs menü a csomagok telepítéséhez.,
Basic Server Setup
az induláshoz be kell állítanunk a PostgreSQL felhasználó (szerep) jelszavát, amelyet “postgres” – nek hívnak; másképp nem tudunk hozzáférni a szerverhez. Mivel a helyi” postgres ” Linux felhasználó, hagyjuk, hogy csatlakoztassa, majd manipulálni a szerver segítségével a psql parancsot.
egy terminálon írja be:
sudo -u postgres psql postgres
Ez a helyi felhasználóval, azaz a “postgres” – szel azonos nevű szerepkörként kapcsolódik a “postgres” (1.argumentum a psql-hez) nevű adatbázishoz.,
állítson be egy jelszót a “postgres” adatbázis szerephez a következő paranccsal:
\password postgres
, majd adja meg jelszavát, amikor a rendszer kéri. A jelszó szövege biztonsági okokból el lesz rejtve a konzolról.
írja be a Control+D vagy \q parancsot a posgreSQL parancssorból való kilépéshez.
adatbázis létrehozása
az első adatbázis létrehozásához, amelyet “mydb”-nek hívunk, egyszerűen írja be:
sudo -u postgres createdb mydb
a PostgreSQL 8.4 vagy 9.3
pgAdmin telepítéséhez kiegészítő telepítése szükséges a teljes funkcionalitás érdekében., Az” adminpack”addon, amelyet szerver Instrumentációnak hív, a postgresql-contrib része, ezért telepítenie kell ezt a csomagot, ha még nem tette meg:
sudo apt-get install postgresql-contrib
, majd a kiterjesztés aktiválásához a “” Postgresql 8.4″”, futtassa az adminisztrációs csomagot.sql script, egyszerűen írja be:
sudo -u postgres psql < /usr/share/postgresql/8.4/contrib/adminpack.sql
A “Postgresql 9.3” + telepítse az adminpack “kiterjesztés” a”postgres”adatbázis:
sudo -u postgres psql CREATE EXTENSION adminpack;
alternatív szerver Beállítás
Ha nem kíván csatlakozni az adatbázishoz más gépekről, ez az alternatív beállítás egyszerűbb lehet.,
alapértelmezés szerint az Ubuntuban a Postgresql úgy van beállítva, hogy az “ident sameuser” hitelesítést használja ugyanazon gép bármely kapcsolatához. Nézze meg a kiváló Postgresql dokumentációt további információkért, de lényegében ez azt jelenti, hogy ha az Ubuntu felhasználóneve “foo”, és Postgresql-felhasználóként hozzáadja a ” foo ” – t, akkor jelszó nélkül csatlakozhat az adatbázishoz.,
Mivel csak az a felhasználó, aki tud csatlakozni egy friss telepítés a postgres felhasználó, itt van, hogyan hozhat létre magadnak egy adatbázis számla (ami ebben az esetben is egy adatbázis rendszergazda), akinek ugyanaz a neve, mint a bejelentkezési nevet, majd hozzon létre egy jelszót a felhasználó számára:
sudo -u postgres createuser --superuser $USER sudo -u postgres psql
postgres=# \password $USER
a Kliens programok, alapértelmezés szerint, csatlakoztassa a helyi fogadó segítségével az Ubuntu bejelentkezési név, s várja, hogy talál egy adatbázis nevét is., Tehát, hogy a dolgok NAGYON könnyű használni az új rendszeradminisztrátori jogosultságok nyújtott felett, hogy hozzon létre egy adatbázis, akinek ugyanaz a neve, mint a login név:
sudo -u postgres createdb $USER
Kapcsolódás a saját adatbázisát, hogy próbálja ki egy kis SQL most olyan egyszerű, mint:
psql
ami további adatbázis-éppen olyan könnyen, így például futtatása után:
create database amarokdb;
menj, mondd el az Amarok használni, postgresql, hogy tárolja a zene katalógus., Az adatbázis neve amarokdb lenne, a felhasználónév a saját bejelentkezési neve lenne, és az “ident sameuser” – nek köszönhetően még jelszóra sincs szüksége, így üresen hagyhatja azt.
A pgAdmin III GUI
használatával képet kaphat arról, hogy mit tehet a PostgreSQL, elkezdhet egy grafikus kliens felgyújtásával. A terminál típus:
pgadmin3
akkor be kell mutatni a pgAdmin III interfész. Kattintson a” kapcsolat hozzáadása a kiszolgálóhoz ” gombra (bal felső sarokban). Az új párbeszédpanelen írja be a 127.0.0.1 címet (a helyi gazda alapértelmezett, így kihagyható.,), a szerver leírása, Az alapértelmezett adatbázis (“mydb” a fenti példában), a felhasználóneved (“postgres”) és a jelszavad. Még egy lépés szükséges ahhoz, hogy a pgAdmin III csatlakozhasson a kiszolgálóhoz, vagyis a pg_hba szerkesztéséhez.conf fájlt, majd módosítsa a hitelesítési módszer a peer-to-md5 (nem fog működni, ha ön nem állította be a jelszót):
sudo nano /etc/postgresql/9.3/main/pg_hba.conf
megváltoztatni a sort
# Database administrative login by Unix domain socketlocal all postgres peer
a
# Database administrative login by Unix domain socketlocal all postgres md5
Most kellene újra a kiszolgáló konfigurációs változtatások, majd csatlakoztassa pgAdmin III., hogy a PostgreSQL adatbázis szerver.,
sudo /etc/init.d/postgresql reload
ezzel a GUI-val elkezdheti az adatbázisok létrehozását és kezelését, lekérdezheti az adatbázist, végrehajthatja az SQl-t stb.
Irányító a Kiszolgáló
, Hogy többet tudjon meg kezelése PostgreSQL (de anélkül, hogy az Ubuntu részletek) lásd a hivatalos PostgreSQL dokumentáció
felhasználók Kezelése, illetve jogi
a User management részletesen tárgyalja az ügyfél azonosítás fejezet a PostgreSQL dokumentáció; a következő egy bevezetés a kezdéshez.
a felhasználók kezeléséhez először szerkesztenie kell az /etc/postgresql/current/main/pg_hba fájlt.,conf, majd módosítsa az alapértelmezett konfiguráció, amely nagyon le van zárva, biztonságos. Ha például azt szeretné, hogy a postgres saját felhasználóit kezelje (nem kapcsolódik a rendszerhasználókhoz), akkor a következő sort adja hozzá:
8<-------------------------------------------# TYPE DATABASE USER IP-ADDRESS IP-MASK METHODhost all all 10.0.0.0 255.255.255.0 md58<-------------------------------------------
ami azt jelenti, hogy a helyi hálózaton (10.0.0.0.0/24 – cserélje ki saját helyi hálózatára !), postgres felhasználók csatlakozhatnak a hálózaton keresztül az adatbázishoz, amely egy klasszikus pár felhasználó / jelszó.
amellett, hogy lehetővé teszi a felhasználó számára, hogy a hálózaton keresztül csatlakozzon a szerver adatbázisához, engedélyeznie kell a PostgreSQL-t a különböző hálózatok hallgatásához., Ehhez nyissa meg az /etc/postgresql/current/main/postgresql fájlt.a kedvenc szerkesztődben módosítsd a listen_addresseket az alábbiak szerint:
listen_addresses = '*'
az összes hálózati interfészen történő hallgatáshoz. Lásd a dokumentumok listen_addresses más lehetőségeket.
adatbázis létrehozásához olyan felhasználóval, aki teljes joggal rendelkezik az adatbázisban, használja a következő parancsot:
sudo -u postgres createuser -D -A -P myusersudo -u postgres createdb -O myuser mydb
az első parancssor létrehozza a felhasználót, akinek nincs adatbázis-létrehozási joga (- d) a felhasználói jogok hozzáadása nélkül-a), és felszólítja a jelszó megadására (-p)., A második parancssor létrehozza a “mydb” adatbázist a “myuser” tulajdonosként.
Ez a kis példa valószínűleg megfelel az Ön igényeinek. További részletekért kérjük, olvassa el a megfelelő man oldalakat vagy az online dokumentációt.
A kiszolgáló újraindítása
a hálózat / felhasználók konfigurálása után előfordulhat, hogy újra kell töltenie a kiszolgálót, itt van egy javasolt parancs.
sudo /etc/init.d/postgresql reload
néhány beállítási változás a postgresql-ben.,conf igényel teljes újraindítás, amely megszünteti az aktív kapcsolatok és megszakítja le nem kötött ügyletek:
sudo /etc/init.d/postgresql restart
további olvasás
Ha nem ismeri az SQL érdemes megnézni ezt a nagy teljesítményű nyelvet, bár néhány egyszerű Felhasználási PostgreSQL nem igényel ezt a tudást (mint például egy egyszerű Django projekt).
A PostgreSQL weboldal rengeteg információt tartalmaz az adatbázis használatáról. Különösen a bemutató hasznos kiindulási pont, de kihagyhatja a telepítési lépést, mivel már telepítette az Ubuntu csomagok használatával.,
hibaelhárítás
fe_sendauth: nincs megadott jelszó
a pg_hba.a conf meghatározza, hogy ehhez a kapcsolathoz md5 hitelesítést kell használni az origin host, connection method és a kért felhasználónév/adatbázis alapján, de az alkalmazás nem adott meg jelszót.
módosítsa a hitelesítési módot, vagy állítson be egy jelszót annak a felhasználónak, amelyhez csatlakozik, majd adja meg ezt a jelszót az alkalmazás csatlakozási beállításaiban.,
FATAL: a “myusername” szerep nem létezik
alapértelmezés szerint a PostgreSQL csatlakozik a PostgreSQL felhasználóhoz, ugyanazzal a névvel, mint az aktuális unix felhasználó. Ön még nem hozott létre egy PostgreSQL felhasználó ezt a nevet az adatbázisban.
Hozzon létre egy megfelelő felhasználót, vagy adjon meg egy másik felhasználónevet a csatlakozáshoz. A parancssori eszközökben a-U zászló ezt teszi.
FATAL: a “myusername” adatbázis nem létezik
a “myusername” nevű felhasználó létezik, de nincs azonos nevű adatbázis.,
alapértelmezés szerint a PostgreSQL ugyanazzal a névvel csatlakozik az adatbázishoz, mint a csatlakoztatott felhasználó, de nem hozza létre automatikusan az adatbázist, ha nem létezik.
Hozzon létre egy adatbázist, vagy adjon meg egy másik adatbázist a csatlakozáshoz.
végzetes: Peer hitelesítés nem sikerült a felhasználó “myusername”
csatlakozik localhost keresztül unix foglalat. A “myusername” nevű felhasználó létezik, de a jelenlegi unix-felhasználó nem ugyanaz, mint a felhasználónév., PostgreSQL van beállítva, hogy használja a “peer” hitelesítés unix sockets ehhez a felhasználó/db combo, így megköveteli a unix és postgresql felhasználónevek, hogy megfeleljen.
Csatlakozás a unix felhasználó, amely megfelel a kívánt PostgreSQL felhasználó-talán sudo-u theusername psql – vagy változás pg_hba.conf használni egy másik hitelesítési mód, mint a” md5 ” erre a felhasználónévre.,
nem sikerült csatlakozni a szerverhez: Nincs ilyen fájl vagy könyvtár
hiba, mint ez (esetleg egy másik unix socket utat, attól függően, hogy a telepítés):
psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
azt jelenti, hogy egy sor dolgot:
* A kiszolgáló nem fut;
* A szerver egy másik unix_socket_directories az alapértelmezett az ügyfél libpq, vagy a különböző összeállított-defaults, vagy beillő beállítás;
* A kiszolgáló figyel egy másik “port”., PostgreSQL emulálja a TCP / IP portok unix aljzatok segítségével a port számát, mint az utótag a socket fájl, például 5432.
távolítsa el ezeket egymás után.
először ellenőrizze, hogy a kiszolgáló fut-e. Az Ubuntu, ps-u postgres-f megmutatja minden futó folyamatok felhasználói postgres – szeretné látni több is elemzi postgres.
most ellenőrizze, hogy a szerver hallgat-e, ahol az ügyfél gondolja. A PostgreSQL szerver socket könyvtárának megismerése:
sudo -u postgres psql -c "SHOW unix_socket_directories;"
vagy régebbi PostgreSQL verziókon, unix_socket_directory mint paraméter megváltozott neve., Megmutatni a server port (amely vonatkozik mind a TCP/IP vagy unix socket):
sudo -u postgres psql -c "SHOW port;"
Ha nem tudsz csatlakozni psql unix alatt a postgres felhasználó ellenőrizheti, hogy a socket a dir lsof:
$ sudo lsof -U -a -c postgres COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME postgres 6565 postgres 5u unix 0xffff88005a049f80 0t0 183009 /tmp/.s.PGSQL.5432 postgres 6566 postgres 1u unix 0xffff88013bc22d80 0t0 183695 socket postgres 6566 postgres 2u unix 0xffff88013bc22d80 0t0 183695 socket
ebben Az esetben az első sort az aljzat helyét. Ez a szerver socket directory / tmp port 5432.,
Ha az ügyfél keres egy másik socket könyvtár, valószínűleg próbál csatlakozni át unix aljzatok, hogy az alapértelmezett csatlakozó utat, és/vagy az alapértelmezett port, valamint a libpq a kliens alkalmazás kapcsolódik más-más összeállított-a unix socket út és/vagy a port, mint a futás, PostgreSQL. Valószínűleg az LD_LIBRARY_PATH vagy / etc / ld. so. conf más libpq-val rendelkezik, mint a PostgreSQL verziója. Ez általában nem számít sokat, csak felülbírálhatja a socket könyvtárat.,
alternatív socket könyvtár és/port port port megadásához adja meg a socket dir-t a csatlakozási lehetőségek host paramétereként, például felhasználói bobként való csatlakozáshoz az 5433-as porton a /tmp-ben hallgatott kiszolgálóhoz:
psql -h /tmp -p 5433 -U bob ...
vagy kapcsolat-karakterlánc formájában:
psql "host=/tmp port=5433 user=bob ..."
ugyanez működik minden kliens, amely libpq (az összes PostgreSQL kliens eszközök, plusz például psycopg2, a PG gem Ruby/Rails, PHP Postgres és OEM, Perl DBB::PG, stb)., Nem működik olyan nem libpq kliensekkel, mint a PgJDBC, Py-postgresql stb., de ezek többsége egyáltalán nem támogatja a unix aljzatokat. Lásd a nem libpq alapú kliensek ügyféldokumentációját.
hivatalos PostgreSQL Letöltések
A PostgreSQL projekt a letöltési oldalon tartalmazza a letöltési helyek hivatalos listáját, beleértve az Ubuntu szoftvertárat is. Különösen az Ubuntu felhasználók újabb PostgreSQL verziókat kaphatnak, mint azok, amelyeket Ubuntu kiadásukban csomagolnak az apt-get via segítségével apt.postgresql.org.
a PostgreSQL körüli támogatásért és szolgáltatásokért lásd a services and support oldalt.,
EnterpriseDB
A PostgreSQL Linux letöltések oldal tartalmaz egy szakaszt a” grafikus telepítő ” által épített EnterpriseDB. Letölti a telepítőt, megváltoztatja annak tulajdonságait, hogy lehetővé tegye parancsként történő futtatását (van .futtassa kiterjesztés), majd futtassa a parancssorból, mint a ” sudo whateveritwas.fuss”.
végül
- konfigurált DB szerverpéldány, amely a kiszolgálóval kezdődik
- pgAdmin III UI kliens alkalmazás
vegye figyelembe, hogy a telepített szoftver nem lesz integrálva az Ubuntu szoftverközpontba., Ennek eredményeként nem kap semmilyen biztonsági frissítést az Ubuntu-tól. A telepített verzió azonban szorosan illeszkedik a legújabb Ubuntu verzióhoz.
kulcsrakész Linux
Az Ubuntu-alapú PostgreSQL készülék az egyik legegyszerűbb módja annak, hogy az Ubuntu PostgreSQL-jével elinduljon. Ez az Ubuntu 10.04.1 (Lucid LTS) alapú, előre integrált kulcsrakész Linux Szoftverkészülékek családjának része.
Vélemény, hozzászólás?