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.