Translation(s): English - español - Italiano - Русский
Contents
PostgreSQL, noto anche come Postgres, è un sistema di gestione per database relazionali (RDBMS) libero e open-source con attenzione a estensibilità e conformità ad SQL.
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
phppgadmin - strumento di amministrazione di PostgreSQL basato sul web
Notare che i linguaggi procedurali sono installati separatamente (plpgsql viene fornito in modo predefinito). Cercare nei pacchetti Debian per trovare un elenco delle possibilità:
# apt search postgresql
Accesso utente
Sia l'utente predefinito, sia il database predefinito si chiamano postgres.
Saranno necessari privilegi di amministrazione.
Come root
# su -c /usr/bin/psql postgres
Se il sistema usa sudo per ottenere i privilegi di amministrazione:
$ sudo -u postgres 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
Passare all'utente postgres 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, se il nome utente sul sistema operativo non è lo stesso del nome utente per il database:
$ psql -d miodatabasepg -h localhost -U mioutentepg
Si può anche usare un file ~/.pgpass
Aggiungere la riga per l'autenticazione:
$ echo 'nomehost:porta:miodatabasepg:mioutentepg:miapasswordpg' >> ~/.pgpass
Rendere sicuro il file
chmod 600 ~/.pgpass
Ora ci si può facilmente connettere con
$ psql -d miodatabasepg -h localhost -U mioutentepg
Ulteriori informazioni sulla sintassi possono essere trovate su: https://www.postgresql.org/docs/11/libpq-pgpass.html
Migrazione
Vedere la sezione "Default clusters and upgrading" in /usr/share/doc/postgresql-common/README.Debian.gz In alternativa, si può adattare e usare quanto segue:
https://wiki.postgresql.org/wiki/Using_pg_upgrade_on_Ubuntu/Debian
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. Una volta installato il pacchetto, 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. Per cambiare la localizzazione (ed eventualmente altre opzioni in initdb), cancellare il cluster predefinito esistente e crearne uno nuovo:
Attenzione!
L'operazione che segue cancella ovviamente tutto ciò che era nei database del cluster. Eseguire questa operazione subito dopo aver installato il pacchetto base.
- Ottenere i privilegi di root.
- Eseguire il comando seguente:
pg_dropcluster --stop <versione> main
Ad esempio:pg_dropcluster --stop 11 main
- Eseguire initdb con le proprie opzioni. Ad esempio:
pg_createcluster --locale de_DE.UTF-8 --start 11 main
Controllare la pagina Locale per vedere come aggiungere nuove localizzazioni.
Vedere anche
DebianGis/UpdatingPostGIS (descrive anche come aggiornare PostgreSQL)
Collegamenti esterni
https://www.cyberciti.biz/faq/howto-add-postgresql-user-account/
https://www.linode.com/docs/databases/postgresql/debian-6-squeeze/