Johdanto

PostgreSQL on tehokas olio-relaatiotietokannan hallintajärjestelmä, säädetään joustavalla BSD-tyylinen lisenssi. PostgreSQL sisältää monia kehittyneitä ominaisuuksia, on erittäin nopea ja standardit yhteensopivia.

PostgreSQL on siteet monille ohjelmointikieliä, kuten C, C++, Python, Java, PHP, Ruby… Sen avulla voi virrata mitä tahansa yksinkertaisista verkkosovelluksista massiivisiin tietokantoihin, joissa on miljoonia tietueita.,

Client Asennus

Jos haluat vain liittää ulkoisen PostgreSQL-palvelin, älä asenna tärkein PostgreSQL paketti, mutta asentaa PostgreSQL client-paketin sijaan. Voit tehdä tämän, käytä seuraavaa komentoa

 sudo apt-get install postgresql-client

kytke palvelimeen komennolla

 psql -h server.domain.org database user

Kun olet asettanut salasanan, voit käyttää PostgreSQL-line komennot., Voit esimerkiksi lisätä seuraavan

 SELECT * FROM table WHERE 1;

poistu yhteydessä

 \q

Asennus

asenna palvelimen paikallisesti käyttää komentoriviltä ja kirjoita:

 sudo apt-get install postgresql postgresql-contrib

Tämä tulee asentaa uusin versio saatavilla Ubuntu julkaisu ja yleisesti käytetty lisäosat se.

katso alla olevat ”Ulkoiset linkit” vaihtoehdoista uudempien julkaisujen saamiseksi.,

Asentaminen PostGIS, menettelyn kielellä, asiakkaan rajapinnat, jne

Lisää paketit sisältävät menettelyllisiä kieli runtimes, add-ons, kuten PostGIS -, kieli-client interfaces, kuten psycopg2 Python, jne. Voit saada listaus:

 apt-cache search postgres

Hallinta

– pgAdmin III on kätevä KÄYTTÖLIITTYMÄ PostgreSQL, on erittäin tärkeää aloittelijoille. Voit asentaa sen, kirjoita komentoriville:

 sudo apt-get install pgadmin3

Voit myös käyttää Synaptic package manager Järjestelmästä>Administration-valikosta asentaa nämä paketit.,

Perus-Palvelimen Asetukset

Voit aloittaa pois, meidän täytyy asettaa salasana PostgreSQL käyttäjä (rooli) nimeltään ”postgres”; emme voi käyttää palvelinta ulkoisesti muuten. Paikallisena” postgres ” Linux-käyttäjänä meillä on oikeus muodostaa yhteys ja manipuloida palvelinta psql-komennolla.

terminaali, kirjoita:

sudo -u postgres psql postgres

tämä yhdistää rooli, joilla on sama nimi kuin paikallinen käyttäjä, eli ”postgres”, tietokantaan, jota kutsutaan ”postgres” (1. argumentti psql).,

Aseta salasana ”postgres” tietokannan rooli komennolla:

\password postgres

anna salasana, kun sitä pyydetään. Salasanateksti piilotetaan konsolista turvallisuussyistä.

Type Control+D tai \q poistuaksesi posgreSQL-kehotteesta.

Luo tietokanta

luo ensin tietokanta, jota kutsumme ”mydb”, yksinkertaisesti tyyppi:

 sudo -u postgres createdb mydb

Asenna Palvelimen Instrumentointi (varten PgAdmin) Postgresql 8.4 tai 9.3

– PgAdmin vaatii asennuksen lisäosa täyden toiminnallisuuden., Että ”adminpack” addon, joka kutsuu Palvelimen Instrumentointi, on osa postgresql-contrib, joten sinun täytyy asentaa paketin, jos et ole jo:

 sudo apt-get install postgresql-contrib

Sitten aktivoi laajentaminen, ””Postgresql 8.4″”, suorita adminpack.sql script, yksinkertaisesti tyyppi:

 sudo -u postgres psql < /usr/share/postgresql/8.4/contrib/adminpack.sql

For ”Postgresql 9.3″+ asentaa adminpack ”laajennus” in ”postgres” – tietokanta:

 sudo -u postgres psql CREATE EXTENSION adminpack;

Vaihtoehto-Palvelimen Asetukset

Jos et aio yhteyden tietokantaan alkaen muut koneet, tämä vaihtoehto setup voi olla yksinkertaisempi.,

oletuksena Ubuntu, Postgresql, joka on määritetty käyttämään ’ident sameuser’ todennus mitään yhteyksiä samasta koneesta. Tutustu erinomainen Postgresql asiakirjat lisätietoja, mutta pohjimmiltaan tämä tarkoittaa sitä, että jos Ubuntu käyttäjätunnus on ” foo ” ja lisäät ’foo’, kuten Postgresql käyttäjä sitten voit muodostaa yhteyden tietokantaan ilman salasanaa.,

Koska ainoa käyttäjä, joka voi muodostaa yhteyden tuore asentaa on postgres-käyttäjä, tässä on, miten luoda itsellesi tietokannan käyttäjätunnus (joka on tässä tapauksessa myös tietokannan pääkäyttäjä), jolla on sama nimi kuin kirjautuminen nimi ja sitten create a password for the user:

 sudo -u postgres createuser --superuser $USER sudo -u postgres psql
 postgres=# \password $USER

Client-ohjelmia, oletuksena, yhdistä paikallinen isäntä käytät Ubuntu login nimi ja odottaa löytää tietokannan nimi liian., Joten tehdä asioita TODELLA helppo käyttää uutta superuser-oikeudet on myönnetty ennen luoda tietokanta, jolla on sama nimi kuin käyttäjätunnus:

 sudo -u postgres createdb $USER

Liittäminen omaan tietokantaan kokeilla joitakin SQL pitäisi nyt olla yhtä helppoa kuin:

 psql

Luo lisää tietokanta on vain niin helppoa, niin esimerkiksi, kun käynnissä tätä:

 create database amarokdb;

Voit mennä oikealle eteenpäin ja kertoa Amarok käyttää postgresql tallentaa sen musiikkivalikoima., Tietokannan nimi olisi amarokdb, käyttäjätunnus olisi oma käyttäjätunnus, ja sinun ei edes tarvitse salasanaa kiitos ’ident sameuser ”” niin voit jättää sen tyhjäksi.

Käyttämällä pgAdmin III: GUI

saada käsityksen siitä, mitä PostgreSQL voi tehdä, voit aloittaa ampumalla jopa graafinen client. Terminaali tyyppi :

 pgadmin3

Sinulle esitetään kanssa pgAdmin III-liitäntä. Klikkaa ”Lisää yhteys palvelimeen” – painiketta (ylhäällä vasemmalla). Syötä uudessa ikkunassa osoite 127.0.0.1 (paikallinen isäntä on oletusarvo, joten se voidaan jättää pois.,), kuvaus-palvelin, oletusarvo tietokantaan (”mydb” yllä olevassa esimerkissä), käyttäjätunnus (”postgres”) ja salasanasi. Tarvitaan vielä yksi vaihe, jotta pgAdmin III voi muodostaa yhteyden palvelimeen, eli muokata pg_hba: ta.conf-tiedoston ja muuttaa authentication method from peer-to-md5 (ei toimi, jos et ole asettanut salasanaa):

sudo nano /etc/postgresql/9.3/main/pg_hba.conf

ja muuttaa viivan,

# Database administrative login by Unix domain socketlocal all postgres peer

# Database administrative login by Unix domain socketlocal all postgres md5

Nyt sinun pitäisi ladata palvelimen kokoonpanon muutokset ja liitä pgAdmin III teidän PostgreSQL-tietokantaan server.,

sudo /etc/init.d/postgresql reload

tällä käyttöliittymällä voit aloittaa tietokantojen luomisen ja hallinnan, tiedustella tietokantaa, suorittaa SQl jne.

Hallinta-Palvelin

lisätietoja toimitusjohtaja PostgreSQL (mutta ilman Ubuntu yksityiskohtia) katso virallinen PostgreSQL dokumentointi

käyttäjien Hallinta ja oikeudet

Käyttäjien hallinta on keskusteltu yksityiskohtaisesti asiakkaan todennus-luvun PostgreSQL asiakirjat; seuraavassa on johdatus, joilla pääset alkuun.

jotta voit hallita käyttäjiä, sinun täytyy ensin muokata/etc/postgresql/current/main / pg_hba.,conf ja muokata oletusasetukset, joka on hyvin lukittu ja turvallinen. Esimerkiksi, jos haluat postgres hallita omat käyttäjät (jotka eivät liity järjestelmän käyttäjät), voit lisätä seuraava rivi:

8<-------------------------------------------# TYPE DATABASE USER IP-ADDRESS IP-MASK METHODhost all all 10.0.0.0 255.255.255.0 md58<-------------------------------------------

Mikä tarkoittaa, että paikallisessa verkossa (10.0.0.0/24 – vaihda oma paikallinen verkosto !), postgres käyttäjät voivat muodostaa yhteyden verkon kautta tietokantaan, joka tarjoaa klassisen parin käyttäjän / salasanan.

Lisäksi mahdollistaa käyttäjän yhteyden verkon yli tietokantaan palvelimelle, sinun on kytkettävä PostgreSQL kuunnella eri verkoissa., Voit tehdä sen avaamalla / etc/postgresql/current/main / postgresql.conf suosikki editori ja muuttaa listen_addresses kuten alla:

listen_addresses = '*'

kuunnella kaikista verkon rajapinnat. Katso muiden vaihtoehtojen luettelo asiakirjoista.

Voit luoda tietokanta, jossa on käyttäjä, jolla on täydet oikeudet tietokantaan, käytä seuraavaa komentoa:

sudo -u postgres createuser -D -A -P myusersudo -u postgres createdb -O myuser mydb

ensimmäinen command line luo käyttäjä, jolla ei ole tietokannan luominen oikeudet (-D), jossa ei ole lisätä käyttäjän oikeuksia -A) ja kysyy salasanaa (-P)., Toinen komentorivi luo tietokannan ”mydb kanssa” myuser ” omistajana.

Tämä pieni esimerkki sopii todennäköisesti useimpiin tarpeisiisi. Lisätietoja saat vastaavista man-sivuista tai verkkodokumenteista.

palvelimen uudelleen käynnistäminen

sen jälkeen, kun olet määrittänyt verkottumisen / käyttäjät, jotka saatat joutua lataamaan palvelimen uudelleen, tässä on ehdotettu komento.

sudo /etc/init.d/postgresql reload

Joitakin asetuksia muutoksia postgresql.,conf vaativat täydellistä uudelleen, mikä lopettaa aktiiviset yhteydet ja keskeyttää sitomatta tapahtumat:

sudo /etc/init.d/postgresql restart

kirjallisuutta

Jos et ole perehtynyt SQL saatat haluta tutkia tätä tehokas kieli, vaikka jotkut yksinkertainen käyttää PostgreSQL ei voi vaatia tätä tietoa (kuten yksinkertainen Django-hanke).

PostgreSQL-sivusto sisältää runsaasti tietoa tämän tietokannan käytöstä. Erityisesti opetusohjelma on hyödyllinen lähtökohta, mutta voit ohittaa asennus askel, koska olet jo asentanut sen käyttämällä Ubuntu-paketteja.,

Vianetsintä

fe_sendauth: ei salasana mukana

Oman pg_hba.conf määritellään, että md5 todennus on käytettävä tämä yhteys, joka perustuu alkuperä-isäntä, yhteyden muodostaminen ja pyysi käyttäjätunnus/tietokantaan, mutta sovellus ei antaa salasana.

Muuttaa authentication-tilassa tai asettaa käyttäjän salasanan haluat muodostaa yhteyden, ja määritä sitten, että salasana sovellus on yhteyden asetukset.,

KOHTALOKAS: rooli ”myusername” ei ole olemassa

oletuksena PostgreSQL yhteyden PostgreSQL käyttäjä, jolla on sama nimi kuin nykyinen unix käyttäjä. Et ole luonut PostgreSQL-käyttäjää kyseisellä nimellä tietokantaasi.

luo sopiva käyttäjä tai määritä eri käyttäjätunnus, johon voit muodostaa yhteyden. Komentorivityökaluissa-U-lippu tekee tämän.

FATAL: database ”myusername” ei ole olemassa

”myusername” – nimistä käyttäjää, mutta samannimistä tietokantaa ei ole.,

oletusarvon mukaan PostgreSQL yhdistää tietokantaan samannimisen käyttäjän kanssa, mutta se ei automaattisesti luo tietokantaa, jos sitä ei ole olemassa.

Luo tietokanta tai määritä eri tietokanta, johon voit muodostaa yhteyden.

KOHTALOKAS: Peer todennus epäonnistui käyttäjälle ”myusername”

liität localhost kautta unix-socket. Käyttäjä nimeltä ”myusername” on olemassa, mutta nykyinen unix-käyttäjä ei ole sama kuin kyseinen käyttäjätunnus., PostgreSQL on asetettu käyttämään ”peer” todennus unix pistorasiat tämän käyttäjän / db combo joten se vaatii unix ja postgresql käyttäjätunnukset vastaamaan.

Kytke unix-käyttäjä, joka vastaa haluamasi PostgreSQL käyttäjä – ehkä sudo -u theusername psql – tai muuta pg_hba.conf käyttää tätä käyttäjätunnusta eri tunnistustilassa, kuten ”md5”.,

ei voinut muodostaa yhteyttä palvelimeen: tiedostoa tai hakemistoa

virhe, kuten tämä (mahdollisesti eri unix-socket polku, riippuen asentaa):

 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"?

voi tarkoittaa useita asioita:

* palvelin ei ole käynnissä;

* palvelin on eri unix_socket_directories oletuksena asiakkaan libpq, joko johtuen eri compiled-in defaults tai ristiriitaiset asetus;

* palvelin kuuntelee toista ”port”., PostgreSQL emuloi TCP / IP-portteja unix-pistorasioissa käyttämällä porttinumeroa socket-tiedoston suffiksina, esim.5432.

eliminoi nämä vuorollaan.

varmista ensin, että palvelin toimii. Ubuntu, ps -u postgres -f näyttää kaikki prosessit käynnissä käyttäjänä postgres – haluatko nähdä useita niistä nimeltään postgres.

varmista nyt, että palvelin kuuntelee missä asiakas luulee sen olevan. Selvittää oman PostgreSQL palvelimen socket directory:

 sudo -u postgres psql -c "SHOW unix_socket_directories;"

tai vanhemmat versiot PostgreSQL, unix_socket_directory parametri muuttunut nimi., Näyttää palvelimen portti (joka koskee sekä TCP/IP ja unix pistorasiat):

 sudo -u postgres psql -c "SHOW port;"

Jos et voi edes yhdistää psql unix user postgres voit tarkistaa socket dir kanssa 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

tässä tapauksessa ensimmäinen rivi on pistorasiaan sijainti. Tällä palvelimella on socket directory /tmp portilla 5432.,

Jos asiakkaasi etsii eri socket directory, olet luultavasti yrittää yhdistää yli unix pistorasiat oletuksena socket polku-ja/tai oletuksena portti, ja libpq asiakkaan hakemuksen yhteydessä on koottu eri-unix socket polku-ja/tai satamaan kuin käynnissä PostgreSQL. Todennäköisesti LD_LIBRARY_PATH tai /etc/ld.niin.conf on eri libpq ennen joka tuli tietokoneen versio PostgreSQL. Tämä ei yleensä ole paljon väliä, voit vain ohittaa socket directory.,

määritä vaihtoehtoinen socket directory ja/portti portti yhteyden, määritä socket dir isäntänä parametri yhteys vaihtoehtoja, esim. yhdistää käyttäjän bob palvelin kuuntelee /tmp port 5433:

 psql -h /tmp -p 5433 -U bob ...

tai yhteys-string muodossa:

 psql "host=/tmp port=5433 user=bob ..."

sama toimii minkä tahansa asiakkaan, joka käyttää libpq (kaikki PostgreSQL client tools, plus esim. psycopg2, Pg gem Ruby/Rails, PHP: n postgres ja SAN -, Perl DBB::Pg, jne.)., Se EI toimi ei-libpq asiakkaille, kuten PgJDBC, py-postgresql, jne, mutta useimmat näistä eivät tue unix pistorasiat ollenkaan. Katso muiden kuin libpq – pohjaisten asiakkaiden asiakasasiakirjat.

Virallinen PostgreSQL latausta

PostgreSQL hanke tarjoaa virallisen listan lataussivustot, kuten Ubuntu software repository, sen lataa sivun. Erityisesti, Ubuntu käyttäjät voivat saada uudempi, PostgreSQL versioissa kuin ne pakataan niiden Ubuntun apt-get kautta apt.postgresql.org.

tukea ja palveluja ympäri PostgreSQL katso palvelut ja tuki sivu.,

EnterpriseDB

PostgreSQL Linux lataukset-sivulla on kohta ”Graafinen asennin” rakennettu EnterpriseDB. Lataat asentajan, muutat sen ominaisuuksia, jotta voit suorittaa sen komentona (se on .suorita laajennus), ja suorita se komentorivi kuten ” sudo whateveritwas.suorittaa”.

lopulta

  • määritetty DB server-esiintymä, joka alkaa palvelimen kanssa
  • – pgAdmin III UI client-sovellus

Huomaa, että asennettu ohjelma ei ole integroitu Ubuntu software center., Tämän seurauksena et saa mitään tietoturvapäivityksiä Ubuntusta. Asennettu versio vastaa kuitenkin läheisesti uusinta Ubuntu-versiota.

avaimet Käteen Linux

Ubuntu-pohjainen PostgreSQL laite on yksi helpoimmista tavoista saada ylös ja käynnissä PostgreSQL Ubuntu. Se on osa Ubuntu 10.04.1: een (Lucid LTS) perustuvaa esi integroitujen avaimet käteen Linux-Ohjelmistolaitteiden perhettä.