introduzione
PostgreSQL è il sistema di gestione di database relazionali (RDBMS) open source più avanzato al mondo. È conforme agli standard ANSI SQL: 2008 e ha la maggior parte dei tipi di dati definiti nelle sue specifiche, tra cui INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL e TIMESTAMP.
È in fase di sviluppo attivo da più di 15 anni e recentemente ha guadagnato più buzz grazie alla sua aggiunta di tipi di dati nativi JSON e JSONB, facendoli sembrare una soluzione praticabile ai problemi che i database NoSQL sono tradizionalmente usati per risolvere.
Installazione
Aggiorna repository yum:
sudo yum install update
Ottieni l'ultimo pacchetto di PostgreSQL per CentOS 7:
	- Visita il repository ufficiale e individua l'ultima versione stabile di PostgreSQL per CentOS 7 (al momento della scrittura, l'ultima versione è 9.3).
- Fare clic con il tasto destro sul collegamento per il download e copiarne l'indirizzo.
- Scarica sul tuo VPS eseguendo: curl -O http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm(Sostituisci l'URL con il pacchetto repo di conseguenza).
Installa il pacchetto PostgreSQL scaricato:
sudo rpm -ivh pgdg-centos93-9.3-1.noarch.rpm
Installa PostgreSQL:
sudo yum -y install postgresql93-server postgresql93-contrib
Inizializza il database:
sudo service postgresql-9.3 initdb
Se il comando precedente non è riuscito, chiamare direttamente il file binario di installazione:
sudo /usr/pgsql-9.3/bin/postgresql93-setup initdb
Immettere il comando seguente per modificare il /etc/sysconfig/pgsql/postgresql-9.3file. Se il file non esiste, sarà vuoto, il che va bene.
nano /etc/sysconfig/pgsql/postgresql-9.3
Aggiungi o modifica le opzioni PGPORT e PGDATA in modo che corrispondano all'esempio seguente. Premi CTRL + X , quindi Y dopo la modifica.
PGPORT=5438
PGDATA=/pgdata93
Avviare il database e configurarlo per l'esecuzione all'avvio del server:
sudo service postgresql-9.3 start
sudo chkconfig postgresql-9.3 on
Accesso al database
PostgreSQL crea un utente predefinito sul sistema denominato postgressenza password. Passa postgresall'utente e accedi al prompt PostgreSQL.
su postgres
psql 
Quando viene visualizzato il messaggio PosgreSQL, è possibile digitare helpper visualizzare un elenco di comandi per facilitare l'accesso al database. Si noti che potrebbe essere necessario digitare qo :seguito da qper uscire dalla schermata della guida.
Esempi di utilizzo
Elenca tutti i database sul sistema e connettiti al database predefinito postgres:
postgres=# \list
postgres=# \c postgres
You are now connected to database "postgres" as user "postgres".
Elenca le tabelle presenti nel database Postgres (non ce ne dovrebbero essere):
postgres=# \d
No relations found.
Crea una tabella semplice e controlla per assicurarti che sia stata creata correttamente:
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)
Inserisci alcuni record nella tabella:
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
Tabella delle query per visualizzare i risultati:
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)
Esci dal prompt PosgreSQL:
postgres=# \q
Controlla il servizio PostgreSQL:
sudo service postgresql-9.3 start
sudo service postgresql-9.3 stop
sudo service postgresql-9.3 restart
Conclusione
PosgreSQL è un database altamente avanzato che può fare molto di più di quello che è stato delineato in questo articolo. Visita la documentazione di PostgreSQL per ulteriori informazioni su funzionalità più specifiche come: controllo della concorrenza multi-versione (MVCC), recupero point-in-time, tablespace, replica asincrona, transazioni nidificate (punti di salvataggio), backup online / a caldo, pianificatore di query / ottimizzatore e scrivere in anticipo registrando per tolleranza d'errore.
Altre versioni
Ubuntu
CentOS 7
Scritto da Lami Adabonyan