Introducere
PostgreSQL este cel mai avansat sistem de gestionare a bazelor de date relaționale (RDBMS). Este conform standardelor ANSI SQL: 2008 și are cele mai multe tipuri de date definite în caietul de sarcini, inclusiv INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATA, INTERVAL și TIMESTAMP.
Acesta este în dezvoltare activă de mai bine de 15 ani și a câștigat mai mult zumzet în ultimul timp datorită adăugării de tipuri de date native JSON și JSONB, ceea ce face ca acesta să fie privit ca o soluție viabilă a problemelor bazele de date NoSQL sunt utilizate în mod tradițional pentru a rezolva.
Instalare
Actualizați depozitul yum:
sudo yum install update
Obțineți cel mai recent pachet de PostgreSQL pentru CentOS 7:
- Accesați depozitul oficial și localizați cea mai recentă versiune stabilă a PostgreSQL pentru CentOS 7 (În momentul scrierii, ultima versiune este 9.3).
- Faceți clic dreapta pe linkul de descărcare și copiați adresa acestuia.
- Descărcați pe VPS rulând:
curl -O http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm(Înlocuiți URL-ul cu pachetul repo corespunzător).
Instalați pachetul PostgreSQL descărcat:
sudo rpm -ivh pgdg-centos93-9.3-1.noarch.rpm
Instalează PostgreSQL:
sudo yum -y install postgresql93-server postgresql93-contrib
Inițializați baza de date:
sudo service postgresql-9.3 initdb
În cazul în care comanda anterioară a eșuat, apelați direct binarul de configurare:
sudo /usr/pgsql-9.3/bin/postgresql93-setup initdb
Emiteți comanda de mai jos pentru a edita /etc/sysconfig/pgsql/postgresql-9.3fișierul. Dacă fișierul nu există, acesta va fi gol, ceea ce este în regulă.
nano /etc/sysconfig/pgsql/postgresql-9.3
Adăugați sau modificați opțiunile PGPORT și PGDATA, astfel încât acestea să corespundă exemplului de mai jos. Apăsați CTRL + X , apoi Y după editare.
PGPORT=5438
PGDATA=/pgdata93
Porniți baza de date și configurați-o pentru a rula când serverul pornește:
sudo service postgresql-9.3 start
sudo chkconfig postgresql-9.3 on
Accesarea bazei de date
PostgreSQL creează un utilizator implicit pe sistemul numit postgresfără parolă. Comutați la postgresutilizator și accesați promptul PostgreSQL.
su postgres
psql
Când se află în promptul PosgreSQL, puteți tasta helppentru a vedea o listă de comenzi care vă ajută să accesați baza de date. Rețineți că ar putea fi necesar să tastați qsau :urmați qsă ieșiți din ecranul de ajutor.
Exemple de utilizare
Enumerați toate bazele de date din sistem și conectați-vă la baza de date implicită postgres:
postgres=# \list
postgres=# \c postgres
You are now connected to database "postgres" as user "postgres".
Enumerați tabelele prezente în baza de date Postgres (nu ar trebui să existe niciuna):
postgres=# \d
No relations found.
Creați un tabel simplu și verificați pentru a vă asigura că a fost creat corect:
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)
Inserați câteva înregistrări în tabel:
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
Tabelul de interogare pentru a vedea rezultatele:
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)
Ieșiți din promptul PosgreSQL:
postgres=# \q
Controlează serviciul PostgreSQL:
sudo service postgresql-9.3 start
sudo service postgresql-9.3 stop
sudo service postgresql-9.3 restart
Concluzie
PosgreSQL este o bază de date extrem de avansată, care poate face mai mult decât ceea ce a fost conturat în acest articol. Accesați documentația PostgreSQL pentru citire suplimentară despre mai multe caracteristici specifice, cum ar fi: Multi-Version Concurrency Control (MVCC), recuperare în timp, spații de tabel, replicare asincronă, tranzacții cuibare (puncte de salvare), backup-uri online / la cald, planificator / optimizator de interogări și scrieți mai departe jurnalul pentru toleranța la erori.
Alte versiuni
Ubuntu
CentOS 7
Scris de Lami Adabonyan