Differences between revisions 1 and 6 (spanning 5 versions)
Revision 1 as of 2011-12-08 16:20:59
Size: 6418
Comment: first translated version
Revision 6 as of 2017-04-01 18:34:12
Size: 6738
Comment: sync with english master
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[PostgreSql|English]] - Italiano - [[ru/PostgreSql|Русский]] -~ ~-[[DebianWiki/EditorGuide#translation|Traduzioni]]: [[PostgreSql|English]] - [[es/PostgreSql|español]] - Italiano - [[ru/PostgreSql|Русский]] -~
Line 4: Line 4:
 <<TableOfContents(2)>> <<TableOfContents(2)>>
Line 8: Line 8:
----
Line 13: Line 14:
# aptitude install postgresql postgresql-client # apt-get install postgresql postgresql-client
Line 28: Line 29:
L'utente predefinito è '''postgres''' e il database predefinito è '''template1'''. Sia l'utente predefinito, sia il database predefinito si chiamano '''postgres'''.
Line 30: Line 31:
Ci si può connettere al database usando il comando seguente. Saranno necessari privilegi di amministrazione.

Come root
Line 32: Line 36:
#su - postgres
$psql template1
# su -s /bin/bash postgres
}}}

Se il sistema usa sudo per ottenere i privilegi di amministrazione:
{{{
$ sudo -u postgres bash
}}}

Poi basta avviare il client:
{{{
$ psql
Line 37: Line 50:
Creare un account per utente di sistema regolare usando '''adduser''' Creare un account per utente di sistema regolare usando '''adduser'''  (saltare questo passaggio per usare un utente esistente):
Line 39: Line 52:
#adduser mioutentepg #adduser mioutentepg        #dalla shell normale
Line 42: Line 55:
Connettersi al database Connettersi al database e creare un nuovo utente per il database e un database
Line 45: Line 58:
$psql template1
}}}

Creare un nuovo utente, un nuovo database e garantire privilegi:
{{{
template1=#CREATE USER mioutentepg WITH PASSWORD 'miapassutentepg';
template1=#CREATE DATABASE miodatabasepg;
template1=#GRANT ALL PRIVILEGES ON DATABASE miodatabasepg to mioutentepg;
}}}
oppure
{{{
#createuser mioutentepg -W #dalla shell normale
#su - mioutentepg
$psql template1
template1=#CREATE DATABASE miodatabasepg;
}}}


Uscire dal database
{{{
template1=# \q
# createuser mioutentepg #dalla shell normale
# createdb -O mioutentepg miodatabasepg
Line 70: Line 64:
#su - mioutentepg
psql miodatabasepg
# su - mioutentepg
$ psql miodatabasepg
Line 77: Line 71:
#psql -d miodatabasepg -U mioutentepg # psql -d miodatabasepg -U mioutentepg
Line 85: Line 79:
modificare '''pg_hba.conf''' in /etc/postgresql/8.4/main/pg_hba.conf modificare '''pg_hba.conf''' in /etc/postgresql/X.Y/main/pg_hba.conf
Line 91: Line 85:
riavviare postgresql ricaricare postgresql
Line 93: Line 87:
# /etc/init.d/postgresql restart # /etc/init.d/postgresql reload
Line 150: Line 144:
----
Line 152: Line 145:
Vedere: == Vedere anche ==
Line 154: Line 147:
 * [[DebianPkg:postgresql|Pacchetti PostgreSQL in Debian]]
 * [[https://lists.alioth.debian.org/mailman/listinfo/pkg-postgresql-public|Mailing-list Debian su PostgreSQL]]
 * [[GNOME-DB]]
 * [[DebianGis/UpdatingPostGIS]] (descrive anche come aggiornare PostgreSQL)

== Collegamenti esterni ==

 * [[http://www.postgresql.org/|Sito web ufficiale di PostgreSQL]]
 * [[WikiPedia:PostgreSQL|Voce su PostgreSQL in Wikipedia]]
Line 155: Line 157:
 * WikiPedia:PostgreSQL
Line 159: Line 160:
 * http://packages.debian.org/unstable/misc/postgresql
 * [[GNOME-DB]]
 * [[DebianGis/UpdatingPostGIS]] (descrive anche l'aggiornamento di postgresql)
Line 164: Line 162:
 * [[http://petereisentraut.blogspot.com/2011/06/enabling-core-files-for-postgresql-on.html|Abilitare i file core per PostgreSQL su Debian]]

Traduzioni: English - español - Italiano - Русский


Introduzione a PostgreSQL

PostgreSQL ha una documentazione d'aiuto completa e ben fatta che dovrebbe essere la prima fonte di informazioni per questo prodotto per database. Questa pagina tratta delle principali differenze rispetto alla generica installazione di PostgreSQL usate da Debian.

Installazione

Pacchetti necessari: postgresql postgresql-client

# apt-get install postgresql postgresql-client

Pacchetti raccommandati:

  • postgresql-doc - documentazione di PostgreSQL
  • pgadmin3 - interfaccia utente grafica per l'amministrazione di PostgreSQL
  • phppgadmin - strumento di amministrazione di PostgreSQL basato sul web

Notare che i linguaggi procedurali sono installati separatamente (plpgsql viene fornito in modo predefinito). Fare ricerche nel database dei pacchetti per trovare un elenco delle possibilità:

# aptitude search postgresql

Accesso utente

Sia l'utente predefinito, sia il database predefinito si chiamano postgres.

Saranno necessari privilegi di amministrazione.

Come root

# su -s /bin/bash postgres

Se il sistema usa sudo per ottenere i privilegi di amministrazione:

$ sudo -u postgres bash

Poi basta avviare il client:

$ psql

Nuovi utenti e database

Creare un account per utente di sistema regolare usando adduser (saltare questo passaggio per usare un utente esistente):

#adduser mioutentepg        #dalla shell normale

Connettersi al database e creare un nuovo utente per il database e un database

#su - postgres
# createuser mioutentepg   #dalla shell normale
# createdb -O mioutentepg miodatabasepg

Connettersi al nuovo database come utente

# su - mioutentepg
$ psql miodatabasepg

oppure

# psql -d miodatabasepg -U mioutentepg

Se si ottengono erori simili a:

psql: FATAL:  Ident authentication failed for user "mioutentepg"

modificare pg_hba.conf in /etc/postgresql/X.Y/main/pg_hba.conf

local   all         all                               trust     #sostituire ident o peer con trust

ricaricare postgresql

# /etc/init.d/postgresql reload

Documentazione

Per ottenere una panoramica sull'architettura PostgreSQL di Debian, istruzioni per iniziare velocemente e suggerimenti su dove trovare i programmi e le pagine man, guardare /usr/share/doc/postgresql-common/README.Debian.gz.

File tutorial

La documentazione di PostgreSQL fa riferimento al tutorial, che è incluso nel pacchetto postgresql-doc. Per ottenere ulteriori informazioni guardare /usr/share/doc/postgresql-doc-[version]/tutorial/README.

Elencare i cluster database esistenti

Usare il comando pg_lsclusters per controllare i cluster installati e ottenere alcune informazioni di base come: versione (versione principale), nome, porta, stato (inlinea o disconnesso), proprietario, directory dei dati e file di registro.

pg_lsclusters

Sostituire pg_ctl

pg_ctl è un programma a riga di comando di controllo per PostgreSQL che può essere usato per controllare il database. Debian ha creato un wrapper Perl per pg_ctl chiamato /usr/bin/pg_ctlcluster. Usare pg_ctlcluster ogni volta che si ha bisogno di pg_ctl. Per personalizzare il suo comportamento controllare /etc/postgresql/[version]/[cluster]/pg_ctl.conf.

Debian installa un script di avvio compatibile con SysV-init (standard): /etc/init.d/postgresql-[versione]. Può essere usato per avviare, fermare, riavviare e ricaricare il sistema. Richiama pg_ctlcluster internamente.

Collocazione dei file

Debian divide la configurazione del database dai file del database, a differenza di un'installazione generica di PostgreSQL che mette tutto nella stessa directory. Notare che Debian permette la coesistenza sullo stesso host di cluster multipli e persino di diverse versioni di PostgreSQL.

File di configurazione: /etc/postgresql/[versione]/[cluster]/
Binari: /usr/lib/postgresql/[versione]
File dati: /var/lib/postgresql/[versione]/[cluster]

File di registro: l'installazione di PostgreSQL crea la directory di registro /var/log/postgresql/. L'avvio del motore del database crea un file di registro chiamato postgresql-[versione]-[cluster].log.

Cambiare l'installazione predefinita in Debian

L'installazione Debian di PostgreSQL richiama automaticamente initdb, cioè inizializza il cluster con la codifica e la localizzazione predefinita. La codifica può essere successivamente cambiata, ma la localizzazione no. Per cambiare la localizzazione (e eventualmente altre opzioni in initdb), cancellare il cluster predefinito esistente e crearne uno nuovo:

  1. Ottenere i privilegi di root.
  2. Eseguire il comando seguente:
    pg_dropcluster --stop <versione> main
    Ad esempio:
    pg_dropcluster --stop 8.3 main
  3. Eseguire initdb con le proprie opzioni. Ad esempio:
    pg_createcluster --locale de_DE.UTF-8 --start 8.3 main

Attenzione!

L'operazione precedente cancella ovviamente tutto ciò che era nei database del cluster. Eseguire questa operazione subito dopo aver installato il pacchetto base. Controllare il manuale di PostgreSQL se è necessario cambiare la localizzazione per un database esistente (non è un'operazione banale).

Controllare la pagina Locale per vedere come aggiungere nuove localizzazioni.

Vedere anche

Collegamenti esterni