Postgresql

Da zeroincombenze.
Tb arrow up.jpg Lang english.png
PostgreSQL
Sviluppatore PostgreSQL Global Development Group
Ultima versione 9.3
data 20 febbraio 2014
Sistemi operativi Linux, Windows
Licenza BSD[1]
Sito Web http://www.postgresql.org/


Postgresql

Postgresql è un database relazionale rilasciato con licenza libera. Usato da Odoo.


Versioni

H versioni.png
Nome Versione Data di Lancio Note
8.3 4 febbraio 2008 Heap-only tuples, full text search, SQL/XML, ENUM types, UUID types
8.4 1 luglio 2009 Versione attualmente in uso aggiornata a 24 luglio 2014. Windowing functions, default and variadic parameters for functions, column-level permissions, parallel database restore, per-database collation, common table expressions and recursive queries
9.0 20 settembre 2010 Built-in binary streaming replication, Hot standby, 64-bit Windows, per-column triggers and conditional trigger execution, exclusion constraints, anonymous code blocks, named parameters, password rule
9.1 12 settembre 201 Synchronous replication, per-column collations, unlogged tables, k-nearest neighbors (k-NN) indexing, serializable snapshot isolation, writeable common table expressions, SE-Linux integration, extensions, SQL/MED attached tables (Foreign Data Wrappers), triggers on views
9.2 10 settembre 2012 Cascading streaming replication, index-only scans, native JSON support, improved lock management, range types, pg_receivexlog tool, space-partitioned GiST indexes
9.3 9 settembre 2013 Custom background workers, data checksums, dedicated JSON operators, LATERAL JOIN, faster pg_dump, new pg_isready server monitoring tool, trigger features, view features, writeable foreign tables, materialized views, replication improvements
9.4 18 dicembre 2014 JSONB data type, ALTER SYSTEM statement for changing config values, refresh materialized views without blocking reads, dynamic registration/start/stop of background worker processes, Logical Decoding API, GiN index improvements, Linux huge page support, database cache reloading via pg_prewarm
Legenda Versione precedente
Versione stabile, supportata
Ultima versione in beta
Futura versione



H storia.png

Storia

PostgreSQL si è evoluto dal progetto Ingres dell'Universita di Berkeley, in California. Nel 1982 il leader del team Ingres, Michael Stonebraker, lasciò Berkeley per costruire una versione proprietaria Ingres. Ritornò a Berkeley nel 1985 ed inizio un progetto post-Ingres project. Il nuovo progetto, POSTGRES usò molte delle idee di Ingres, ma non il codice.

Dal 1986, il team di POSTGRES pubblicò la documentazione di base e nel 1988 un prototipo. La prima versione fu rilasciata in giugno del 1989. Le succesive versioni futurono totalmente riscritte sino alla versione 4 che cessò lo sviluppo.

Ma sviluppatori open-source ottennero copie da Berkeley poiché Postgres era sotto una licenza stile MIT. La prima versione totalmente open-source, la V5, venne rilasciata il 1 agosto 1996.

Dal 1996 il progetto venne rinomainato PostgreSQL per riflettere la conformità allo standard SQL con la 6.0 in gennaio 1997. Da allora un numeroso gruppo di sviluppatori mantiene ed evolve il codice attraverso Internet.


H caratteristiche.png

Caratteristiche

N/D


H vantaggi-svantaggi.png

Vantaggi e svantaggi

N/D


H distribuzione.png

Implementazioni e Distribuzioni

32px warning.jpg


H conccorenti.png

Concorrenti

mySql


H guida all'uso.png

Guida all'uso

Guida all'uso



H guida tecnica.png

Guida di riferimento tecnico

Linux RHEL o Debian

L'installazione generica piattaforma Linux richiede il package lisa.


Verifica installato

Eseguire il seguente comando:

lisa status postgresql

Installazione

lisa install postgresql


Linux RHEL (Fedora, CentOS e Red Hat Enterprise Linux)

Verifica installato

Eseguire uno dei seguenti comandi

# Check for version
psql -V
# Check rpm package
rpm -q postgresql-server
# Check yum
yum info installed postgresql-server|grep "[Vv]ersion"

Se installato, vedere controlli post-installazione.


Installazione Package standard (opzione consigliata)

yum install postgresql-server












H installazione.png

Installazione

Gli esempi riportati in questa pagina sono estratti dal software di installazione product:

Installazione su Linux CentOS e famiglia RHEL

Installazione
yum -y install postgresql-server
service postgresql start
chkconfig postgresql on
yum -y install postgresql-client-common
yum -y install postgresql-contrib


Dopo l'installazione su server CentOS occorre eseguire anche questi comandi (se necessario creare l'utente postgres oppure usare openerp):

service postgresql initdb


Ora è necessario assegnare l'utente openerp come default per postgresql. Se lo assegnamo all'utente openerp è necessario dichiarare la shell:

su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt openerp
Enter password for new role:    <<< Attenzione alla password che servirà per la configurazione di OpenERP
Enter it again:                 <<< Ripetere per ragioni si sicurezza



Infine si attiva il servizio , si verifica che funzione e si imposta in avvio automatico

service postgresql start
psql -V
chkconfig postgresql on

Installazione su Linux Ubuntu

Per installare postgresql su un server della famiglia ubuntu (famiglia debian) si consiglia di usare il comando yum. Il comando è:

apt-get -y install postgresql
service postgresql start
chkconfig postgresql on
apt-get -y install postgresql-client-common
apt-get -y install postgresql-contrib


Dopo l'installazione su server occorre eseguire anche questi comandi (se necessario creare l'utente postgres oppure usare openerp):

service postgresql initdb


Ora è necessario assegnare l'utente openerp come default per postgresql. Se lo assegnamo all'utente openerp è necessario dichiarare la shell:

su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt openerp
Enter password for new role:    <<< Attenzione alla password che servirà per la configurazione di OpenERP
Enter it again:                 <<< Ripetere per ragioni si sicurezza


Infine si attiva il servizio , si verifica che funzione e si imposta in avvio automatico

service postgresql start
psql -V
chkconfig postgresql on


Per gestire gli aggiornamenti e le versioni successive si consiglia di installare la repository con il comando:

deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main

Installata la repository si installano i vari aggiornamenti, si inizializza il database e si configura lo startup automatico

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc
sudo apt-key add -
sudo apt-get update 

Maggiori informazioni sono disponibili nella pagine Installazione postgresql per ubuntu

Controlli post-installazione

La directory dei database è definita dalla variabile PGDATA. Il valore di default è /var/lib/pgsql/n.n/data

Gli errori durante la fase di installazione precedentemente spiegata sono visibili in /var/lib/pgsql/pgstartup.log


H aggiornamento.png

Aggiornamento

Innanzitutto controllare se già installato con

yum list postgresql-server

Per sapere quali versioni sono disponibili il comando è:

yum list postgres*

Attenzione: anche se appare nella lista dei prodotti, la versione server è da installare con il comando

yum install postgresql-server

Inoltre occore anche impostare il comando

service postgresql initdb


Per gestire gli aggiornamenti e le versioni successive si consiglia di installare la repository RPM con il comando:

yum install http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm

Installata la repository si installano i vari aggiornamenti, si inizializza il database e si configura lo startup automatico

yum install postgresql93-server postgresql93-contrib
service postgresql-9.3 initdb
chkconfig postgresql-9.3 on

Maggiori informazioni sono disponibili nella pagine Installazione postgresql per RHEL

Il sito ufficiale di postgresql, 'https://wiki.postgresql.org/wiki/YUM_Installation' consiglia di configurare il comando YUM senza il mirroring. Su CentOS il file di configurazione è /etc/yum.repos.d/CentOS-Base.repo; nelle sezioni [base] e [updates] inserire:

exclude=postgresql*


H faq.png

FAQ

Risposte a domande frequenti


H troubleshooting.png

Troubleshooting

Guida alla risoluzione dei problemi


H sicurezza.png

Guida alla sicurezza

Configurazione firewall interno

PostgreSQL è dotato di un piccolo firewall interno l'accesso al database. La configurazione è nel file pg_hba.conf che si trova nella directory PGDATA (vedere Postgresql#Controlli post-installazione Occorre inserire le seguenti direttiva

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         openerp                           md5
host    all         openerp     127.0.0.1/32          md5

Attenzione! Se usate la ridirezione tramite proxy, non inserite la riga local.


H software.png

Sviluppo del codice

32px warning.jpg

Documentazione riservata agli sviluppatori


H libreria.png

Librerie e ambiente di sviluppo

Non previsto


H programmi complementari2.png

Programmi complementari

Installazione web admin tool

Dalla pagina 'http://phppgadmin.sourceforge.net/doku.php?id=download' scaricare il file tar con il comando e installarlo:

wget http://sourceforge.net/projects/phppgadmin/files/phpPgAdmin%20%5Bstable%5D/phpPgAdmin-5.1/phpPgAdmin-5.1.tar.gz/download?use_mirror=netcologne&download=
tar -zxvf phpPgAdmin-5.1.tar.gz
cd phpPgAdmin-5.1/conf
vim config.inc.php

Modificare l'host (con localhost o indirizzo IP)


H notes.png

Note

  1. Licenza libera


H unit.png

Altre notizie

32px warning.jpg


H Collegamenti.png

Collegamenti esterni