postgresql Tutorial
Iniziare con postgresql
Ricerca…
Osservazioni
Questa sezione fornisce una panoramica di cosa è Postgresql e perché uno sviluppatore potrebbe volerlo utilizzare.
Dovrebbe anche menzionare qualsiasi argomento di grandi dimensioni all'interno di postgresql e collegarsi agli argomenti correlati. Poiché la Documentazione per postgresql è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.
Versioni
Versione | Data di rilascio | Data EOL |
---|---|---|
9.6 | 2016/09/29 | 2021/09/01 |
9.5 | 2016/01/07 | 2021/01/01 |
9.4 | 2014/12/18 | 2019/12/01 |
9.3 | 2013/09/09 | 2018/09/01 |
9.2 | 2012/09/10 | 2017/09/01 |
9.1 | 2011-09-12 | 2016/09/01 |
9.0 | 2010-09-20 | 2015/09/01 |
8.4 | 2009-07-01 | 2014/07/01 |
Installazione su GNU + Linux
Sulla maggior parte dei sistemi operativi GNU + Linux, PostgreSQL può essere facilmente installato utilizzando il gestore di pacchetti del sistema operativo.
Famiglia Red Hat
I repertori possono essere trovati qui: https://yum.postgresql.org/repopackages.php
Scarica il repository sul computer locale con il comando
yum -y install https://download.postgresql.org/pub/repos/yum/X.X/redhat/rhel-7-x86_64/pgdg-redhatXX-X.X-X.noarch.rpm
Visualizza i pacchetti disponibili:
yum list available | grep postgres*
I pacchetti necessari sono: postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib
Questi sono installati con il seguente comando: yum -y installa postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib
Una volta installato, sarà necessario avviare il servizio database come proprietario del servizio (Default è postgres). Questo è fatto con il comando pg_ctl.
sudo -su postgres
./usr/pgsql-X.X/bin/pg_ctl -D /var/lib/pgsql/X.X/data start
Per accedere al DB in CLI, immettere psql
Famiglia Debian
Su sistemi operativi Debian e derivati , digitare:
sudo apt-get install postgresql
Questo installerà il pacchetto del server PostgreSQL, nella versione predefinita offerta dai repository dei pacchetti del sistema operativo.
Se la versione installata per impostazione predefinita non è quella desiderata, è possibile utilizzare il gestore pacchetti per cercare versioni specifiche che possono essere offerte contemporaneamente.
È inoltre possibile utilizzare il repository Yum fornito dal progetto PostgreSQL (noto come PGDG ) per ottenere una versione diversa. Ciò potrebbe consentire versioni non ancora offerte dai repository di pacchetti del sistema operativo.
Come installare PostgreSQL tramite MacPorts su OSX
Per installare PostgreSQL su OSX, è necessario sapere quali versioni sono attualmente supportate.
Usa questo comando per vedere quali versioni hai a disposizione.
sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
Dovresti ottenere una lista che assomigli al seguente:
postgresql80 @8.0.26 databases/postgresql80
postgresql81 @8.1.23 databases/postgresql81
postgresql82 @8.2.23 databases/postgresql82
postgresql83 @8.3.23 databases/postgresql83
postgresql84 @8.4.22 databases/postgresql84
postgresql90 @9.0.23 databases/postgresql90
postgresql91 @9.1.22 databases/postgresql91
postgresql92 @9.2.17 databases/postgresql92
postgresql93 @9.3.13 databases/postgresql93
postgresql94 @9.4.8 databases/postgresql94
postgresql95 @9.5.3 databases/postgresql95
postgresql96 @9.6beta2 databases/postgresql96
In questo esempio, la versione più recente di PostgreSQL supportata in 9.6, quindi la installeremo.
sudo port install postgresql96-server postgresql96
Vedrai un registro di installazione come questo:
---> Computing dependencies for postgresql96-server
---> Dependencies to be installed: postgresql96
---> Fetching archive for postgresql96
---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96
---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96
---> Installing postgresql96 @9.6beta2_0
---> Activating postgresql96 @9.6beta2_0
To use the postgresql server, install the postgresql96-server port
---> Cleaning postgresql96
---> Fetching archive for postgresql96-server
---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96-server
---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96-server
---> Installing postgresql96-server @9.6beta2_0
---> Activating postgresql96-server @9.6beta2_0
To create a database instance, after install do
sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
---> Cleaning postgresql96-server
---> Computing dependencies for postgresql96
---> Cleaning postgresql96
---> Updating database of binaries
---> Scanning binaries for linking errors
---> No broken files found.
Il registro fornisce istruzioni per il resto dei passaggi per l'installazione, quindi lo faremo in seguito.
sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
Ora iniziamo il server:
sudo port load -w postgresql96-server
Verifica che possiamo connetterci al server:
su postgres -c psql
Vedrai una richiesta da postgres:
psql (9.6.1)
Type "help" for help.
postgres=#
Qui puoi digitare una query per vedere che il server è in esecuzione.
postgres=#SELECT setting FROM pg_settings WHERE name='data_directory';
E vedi la risposta:
setting
------------------------------------------
/opt/local/var/db/postgresql96/defaultdb
(1 row)
postgres=#
Digita \ q per uscire:
postgres=#\q
E tornerai al prompt della shell.
Congratulazioni! Ora hai un'istanza di PostgreSQL in esecuzione su OS / X.
Postgres.app per Mac OSX
Uno strumento estremamente semplice per installare PostgreSQL su un Mac è disponibile scaricando Postgres.app .
Puoi cambiare le preferenze per far funzionare PostgreSQL in background o solo quando l'applicazione è in esecuzione.
Installazione di PostgreSQL su Windows
Mentre è buona pratica utilizzare un sistema operativo basato su Unix (ad esempio Linux o BSD) come server di produzione, è possibile installare facilmente PostgreSQL su Windows (si spera solo come server di sviluppo).
Scarica i binari di installazione di Windows da EnterpriseDB: http://www.enterprisedb.com/products-services-training/pgdownload Questa è una società di terze parti avviata dai contributori principali del progetto PostgreSQL che ha ottimizzato i binari per Windows.
Selezionare l'ultima versione stabile (non Beta) (9.5.3 al momento della scrittura). Molto probabilmente vorrai il pacchetto Win x86-64, ma se stai utilizzando una versione a 32 bit di Windows, che è comune su computer più datati, seleziona Win x86-32.
Nota: il passaggio tra versioni Beta e Stable implicherà attività complesse come il dump e il ripristino. L'aggiornamento in versione beta o stabile richiede solo un riavvio del servizio.
Puoi verificare se la tua versione di Windows è a 32 o 64 bit andando in Pannello di controllo -> Sistema e sicurezza -> Sistema -> Tipo di sistema, che dirà "## - Sistema operativo bit". Questo è il percorso per Windows 7, potrebbe essere leggermente diverso su altre versioni di Windows.
Nel programma di installazione selezionare i pacchetti che si desidera utilizzare. Per esempio:
- pgAdmin ( https://www.pgadmin.org ) è una GUI gratuita per la gestione del database e lo consiglio vivamente. In 9.6 questo sarà installato di default.
- PostGIS ( http://postgis.net ) fornisce funzionalità di analisi geospaziale su coordinate GPS, distanze ecc. Molto popolari tra gli sviluppatori GIS.
- Il pacchetto linguistico fornisce le librerie richieste per il linguaggio procedurale ufficialmente supportato PL / Python, PL / Perl e PL / Tcl.
- Altri pacchetti come pgAgent, pgBouncer e Slony sono utili per i server di produzione più grandi, controllati solo se necessario.
Tutti questi pacchetti opzionali possono essere successivamente installati tramite "Application Stack Builder".
Nota: Esistono anche altre lingue non ufficialmente supportate come PL / V8 , PL / Lua PL / Java disponibili.
Apri pgAdmin e connettiti al tuo server facendo doppio clic sul suo nome, es. "PostgreSQL 9.5 (localhost: 5432).
Da questo punto è possibile seguire guide come l'eccellente libro PostgreSQL: Up and Running, 2a edizione ( http://shop.oreilly.com/product/0636920032144.do ).
Facoltativo: tipo di avvio del servizio manuale
PostgreSQL viene eseguito come servizio in background, leggermente diverso dalla maggior parte dei programmi. Questo è comune per database e server web. Il suo tipo di avvio predefinito è Automatico, il che significa che verrà sempre eseguito senza alcun input da parte dell'utente.
Perché dovresti voler controllare manualmente il servizio PostgreSQL? Se usi il tuo PC come server di sviluppo per un certo periodo di tempo e lo usi anche per giocare ai videogiochi, ad esempio, PostegreSQL potrebbe rallentare un po 'il tuo sistema mentre è in esecuzione.
Perché non vorresti un controllo manuale? Avviare e fermare il servizio può essere una seccatura se lo fai spesso.
Se non noti alcuna differenza di velocità e preferisci evitare il fastidio, lascia il suo Tipo di avvio automatico e ignora il resto di questa guida. Altrimenti...
Vai a Pannello di controllo -> Sistema e sicurezza -> Strumenti di amministrazione.
Selezionare "Servizi" dall'elenco, fare clic con il tasto destro sulla relativa icona e selezionare Invia a -> Desktop per creare un'icona sul desktop per un accesso più comodo.
Chiudere la finestra Strumenti di amministrazione quindi avviare Servizi dall'icona sul desktop appena creata.
Scorri verso il basso finché non vedi un servizio con un nome come postgresql-x ## - 9. # (es. "Postgresql-x64-9.5").
Fare clic con il tasto destro del mouse sul servizio Postgres, selezionare Proprietà -> Tipo di avvio -> Manuale -> Applica -> OK. Puoi cambiarlo in automatico con la stessa facilità.
Se vedi altri servizi correlati a PostgreSQL nell'elenco "pgbouncer" o "PostgreSQL Scheduling Agent - pgAgent" puoi anche cambiare il loro tipo di avvio in Manuale perché non sono molto utili se PostgreSQL non è in esecuzione. Anche se questo significherà più fastidio ogni volta che si avvia e si arresta, quindi dipende da voi. Non utilizzano molte risorse come PostgreSQL e potrebbero non avere alcun impatto notevole sulle prestazioni del sistema.
Se il servizio è in esecuzione, il suo stato dirà Avviato, altrimenti non è in esecuzione.
Per avviarlo fare clic con il tasto destro e selezionare Start. Un prompt di caricamento verrà visualizzato e dovrebbe scomparire da solo subito dopo. Se ti dà un errore prova una seconda volta. Se ciò non funziona, c'è stato qualche problema con l'installazione, probabilmente perché hai cambiato alcune impostazioni in Windows, la maggior parte delle persone non cambia, quindi trovare il problema potrebbe richiedere qualche svestizione.
Per interrompere postgres, fare clic con il pulsante destro del mouse sul servizio e selezionare Interrompi.
Se si verifica un errore durante il tentativo di connessione al database, verificare i servizi per assicurarsi che siano in esecuzione.
Per altri dettagli molto specifici sull'installazione di EDB PostgreSQL, ad esempio la versione runtime di Python nel language pack ufficiale di una specifica versione di PostgreSQL, fare sempre riferimento alla guida all'installazione ufficiale di EBD , cambiare la versione in collegamento alla versione principale del programma di installazione.
Installa postgresql con brew su Mac
Homebrew si definisce " il gestore dei pacchetti mancante per macOS ". Può essere utilizzato per creare e installare applicazioni e librerie. Una volta installato , è possibile utilizzare il comando brew
per installare PostgreSQL e le sue dipendenze come segue:
brew update
brew install postgresql
Homebrew generalmente installa l'ultima versione stabile. Se è necessario uno diverso, brew search postgresql
elencherà le versioni disponibili. Se hai bisogno di PostgreSQL compilato con particolari opzioni, allora brew info postgresql
elencherà quali opzioni sono supportate. Se si richiede un'opzione di compilazione non supportata, potrebbe essere necessario eseguire la build da soli, ma è comunque possibile utilizzare Homebrew per installare le dipendenze comuni.
Avvia il server:
brew services start postgresql
Apri il prompt di PostgreSQL
psql
Se psql si lamenta che non esiste un database corrispondente per il tuo utente, esegui createdb
.
Installa PostgreSQL da Source su Linux
dipendenze:
- GNU Make Version> 3.80
- un C-Compilatore ISO / ANSI (es. gcc)
- un estrattore come tar o gzip
- zlib-devel
- readline-devel oder libedit-devel
Fonti: collegamento alla sorgente più recente (9.6.3)
Ora puoi estrarre i file sorgente:
tar -xzvf postgresql-9.6.3.tar.gz
Ci sono un gran numero di opzioni differenti per la configurazione di PostgreSQL:
Collegamento completo alla procedura di installazione completa
Piccolo elenco di opzioni disponibili:
-
--prefix=PATH
Percorso--prefix=PATH
per tutti i file -
--exec-prefix=PATH
Percorso--exec-prefix=PATH
per il file dependue di architectur -
--bindir=PATH
Percorso--bindir=PATH
per programmi eseguibili -
--sysconfdir=PATH
Percorso--sysconfdir=PATH
per i file di configurazione -
--with-pgport=NUMBER
specifica una porta per il tuo server -
--with-perl
aggiunge il supporto perl -
--with-python
aggiunge il supporto per python -
--with-openssl
aggiunge il supporto openssl -
--with-ldap
aggiunge il supporto ldap -
--with-blocksize=BLOCKSIZE
imposta pagine in KB-
BLOCKSIZE
deve avere una potenza di 2 e tra 1 e 32
-
-
--with-wal-segsize=SEGSIZE
imposta la dimensione della dimensione del segmento WAL in MB-
SEGSIZE
deve essere una potenza di 2 tra 1 e 64
-
Vai nella nuova cartella creata ed esegui lo script cofigure con le opzioni desiderate:
./configure --exec=/usr/local/pgsql
Esegui make
per creare i file oggetto
Esegui make install
per installare PostgreSQL dai file creati
Run make clean
to riordinare
Per l'estensione cambia la directory cd contrib
, esegui make
e make install