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:

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.

  1. Ottenere i privilegi di root.
  2. Eseguire il comando seguente:
    pg_dropcluster --stop <versione> main
    Ad esempio:
    pg_dropcluster --stop 11 main
  3. 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

Collegamenti esterni


CategoryNetwork CategorySoftware CategoryDatabase