Introduksjon
Installasjon
Konfigurer og start database
Få tilgang til databasen
Eksempler på bruk
Konklusjon
Introduksjon
PostgreSQL er verdens mest avanserte åpen kildekode Relational Database Management System (RDBMS). Den er i samsvar med ANSI SQL:2008-standardene og har de fleste datatypene definert i spesifikasjonen, inkludert INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL og TIMESTAMP.
Det har vært i aktiv utvikling i mer enn 15 år og har fått mer buzz i det siste på grunn av tillegget av JSON og JSONB native datatyper, noe som har fått det til å bli sett på som en levedyktig løsning på problemer som NoSQL-databaser tradisjonelt brukes til å løse.
Installasjon
Oppdater yum repository:
sudo yum install update
Få den siste pakken med PostgreSQL for CentOS 7:
- Besøk det offisielle depotet og finn den siste stabile versjonen av PostgreSQL for CentOS 7 (I skrivende stund er den nyeste versjonen 9.3).
- Høyreklikk på nedlastingslenken og kopier adressen.
- Last ned på VPS-en din ved å kjøre:
curl -O http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm(Erstatt URL-en med repo-pakken tilsvarende).
Installer den nedlastede PostgreSQL-pakken:
sudo rpm -ivh pgdg-centos93-9.3-1.noarch.rpm
Installer PostgreSQL:
sudo yum -y install postgresql93-server postgresql93-contrib
Initialiser databasen:
sudo service postgresql-9.3 initdb
Hvis den forrige kommandoen mislyktes, ring oppsettbinæren direkte:
sudo /usr/pgsql-9.3/bin/postgresql93-setup initdb
Utfør kommandoen nedenfor for å redigere /etc/sysconfig/pgsql/postgresql-9.3filen. Hvis filen ikke eksisterer vil den være tom, noe som er greit.
nano /etc/sysconfig/pgsql/postgresql-9.3
Legg til eller endre PGPORT- og PGDATA-alternativer slik at de samsvarer med eksemplet nedenfor. Trykk CTRL + X og deretter Y etter redigering.
PGPORT=5438
PGDATA=/pgdata93
Start databasen og konfigurer den til å kjøre når serveren starter:
sudo service postgresql-9.3 start
sudo chkconfig postgresql-9.3 on
Få tilgang til databasen
PostgreSQL oppretter en standardbruker på systemet navngitt postgresuten passord. Bytt til postgresbrukeren og få tilgang til PostgreSQL-ledeteksten.
su postgres
psql
Når du er i PosgreSQL-ledeteksten, kan du skrive for helpå se en liste over kommandoer som hjelper deg med å få tilgang til databasen. Merk at du kanskje må skrive qeller :etterfølges av for qå gå ut av hjelpeskjermen.
Eksempler på bruk
List opp alle databasene på systemet og koble til standarddatabasen postgres:
postgres=# \list
postgres=# \c postgres
You are now connected to database "postgres" as user "postgres".
List opp tabellene som finnes i Postgres-databasen (det skal ikke være noen):
postgres=# \d
No relations found.
Lag en enkel tabell og kontroller at den ble opprettet på riktig måte:
postgres=# create table tweets (name varchar(25), twitterHandle varchar(25), message varchar(250));
CREATE TABLE
postgres=# \d
List of relations
Schema | Name | Type | Owner
--------+--------+-------+----------
public | tweets | table | postgres
(1 row)
Sett inn noen poster i tabellen:
postgres=# INSERT INTO tweets VALUES ('Lami','mrLami','Best cloud hosting on the planet, Vultr');
INSERT 0 1
postgres=# INSERT INTO tweets VALUES ('Vultr Hosting','@TheVultr','50% off coupon for new instances');
INSERT 0 1
Spørringstabell for å se resultater:
postgres=# select * from tweets;
name | twitterhandle | message
--------------+---------------+--------------------------------------------------
Lami | mrLami | Best cloud hosting on the planet, Vultr
Vultr Hosting | @TheVultr | 50% off coupon for new instances
(2 rows)
Avslutt fra PosgreSQL-ledeteksten:
postgres=# \q
Kontroller PostgreSQL-tjenesten:
sudo service postgresql-9.3 start
sudo service postgresql-9.3 stop
sudo service postgresql-9.3 restart
Konklusjon
PosgreSQL er en svært avansert database som kan gjøre mer enn bare det som ble skissert i denne artikkelen. Besøk PostgreSQL-dokumentasjonen for ytterligere lesing om mer spesifikke funksjoner som: Multi-Version Concurrency Control (MVCC), punkt-i-tidsgjenoppretting, tabellplasser, asynkron replikering, nestede transaksjoner (lagringspunkter), online/hot backup, spørringsplanlegger/optimizer og skriv frem logging for feiltoleranse.
Andre versjoner
Ubuntu
CentOS 7
Skrevet av Lami Adabonyan