Installazione PostgreSQL Rev. 2 - Lodi, 13/05/2019

Pagina creata da Simone Martinelli
 
CONTINUA A LEGGERE
Installazione PostgreSQL Rev. 2 - Lodi, 13/05/2019
Installazione
 PostgreSQL
   Rev. 2

        Lodi, 13/05/2019
Installazione PostgreSQL Rev. 2 - Lodi, 13/05/2019
Installazione PostgreSQL per IAF

Modalità di installazione e configurazione delle componentistiche SW necessarie al funzionamento
degli applicativi basati su tecnologia IAF

Ambito Linux

Quella di seguito descritta interesserà l’installazione di PostgreSQL 9.6.x su un S.O. Linux CentOS7

Prelevare il file dal sito ufficiale del produttore, regolandosi sulla versione certificata con gli
applicativi da utilizzare

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

Per l’intera installazione lo standard Zucchetti prevede il seguente percorso:

/opt

relativo al mondo HR o AGO

Posizionarsi nel percorso indicato e rendere eseguibile il file di installazione con il comando

chmod +x postgresql-9.6.8-1-linux-x64.run

Successivamente, eseguire il file con il comando

./postgresql-9.6.8-1-linux-x64.run

Il Wizard di installazione ci proporrà la directory di default di installazione del prodotto
Installazione PostgreSQL Rev. 2 - Lodi, 13/05/2019
Premere INVIO per confermare la scelta del path corrente

Indicare nella schermata successiva il percorso di installazione della cartella DATA

Premere INVIO per confermare la scelta del path corrente

Indicare nella schermata successiva la password dell’utente postgres, che sarà creato durante la fase
di setup

Indicare nella schermata successiva la porta TCP/IP dove il servizio sarà installato (default 5432).
Indicare una porta diversa in presenza di altre istanze Postgres installate sullo stesso server
Installazione PostgreSQL Rev. 2 - Lodi, 13/05/2019
Indicare nella schermata successiva la collation di installazione. E’ possibile lasciare quella di default
(1) che sarà la stessa in base alla lingua del sistema operativo installato
Lo standard Zucchetti prevede che venga utilizzata la collation UTF-8
Premere INVIO per confermare la scelta

Confermare il setup di installazione ed attendere la fine della stessa
Installazione PostgreSQL Rev. 2 - Lodi, 13/05/2019
Verificare che il servizio sia regolarmente installato ed attivo utilizzando il comando

systemctl status postgresql-9.6.service

Portarsi nel percorso

/opt/PostgreSQL/9.6/data/

e se necessario editare il file pg_hba.conf al fine di permettere, nel campo IPV4, di accettare
connessioni all’istanza anche da altre macchine della rete (di default solo l’IP del server è abilitato)
Installazione PostgreSQL Rev. 2 - Lodi, 13/05/2019
Successivamente, nel percorso /opt/PostgreSQL/9.6/data/ editare il file postgresql.conf effettuando
le seguenti parametrizzazioni secondo lo standard Zucchetti

shared_buffers = Consigliato il 25% della memoria totale
work_mem = Consigliato il 4% della memoria totale
max_connections = 100
escape_string_warning = On
standard_conforming_strings = Off

Autovacuum = On (con relativi parametri a default)
maintenance_work_mem = Consigliato il 10% della memoria totale
synchronous_commit = On
wal_buffers = -1
effective_cache_size = Consigliato il 40% della memoria totale
default_statistics_target = 100
max_locks_per_transaction = 768
shared_preload_libraries = ''

log_destination = 'stderr'
logging_collector = off
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 100MB

Riavviare il servizio PostgreSQL per rendere effettive le modifiche

systemctl restart postgresql-9.6.service

La configurazione del file postgresql.conf può essere anche calcolata, inserendo gli opportuni
parametri del server, della versione Postgres e del sistema operativo installato, al seguente link

https://pgtune.leopard.in.ua/#/

Eventuali errori di configurazione in merito al mancato avvio del servizio saranno registrati nei file di
log presenti nella cartella /opt/PostgreSQL/9.6/data/pg_log
Creazione DATABASE

Utilizzando l’utente “postgres” (“su postgres”), lanciare il l’utility:

/opt/PostgreSQL/9.6/bin/./psql (indicare anche il valore -p e numero di porta se si sta lavorando su
un server con più istanze Postgres)

Procedere alla creazione del database utilizzando il tablespace di default (pg_default) lanciando il
seguente comando

CREATE DATABASE mipzucchetti OWNER postgres TABLESPACE pg_default;

Verificare la lista dei database utilizzando il comando \l+
Query per il controllo dei parametri impostati in postgresql.conf:

select name,setting,unit,sourcefile from pg_settings where name in
('shared_buffers','work_mem','max_connections','escape_string_warning','standard_conforming_s
trings','Autovacuum','maintenance_work_mem','synchronous_commit','wal_buffers','checkpoint_s
egments','effective_cache_size','default_statistics_target','max_locks_per_transaction','shared_pre
load_libraries','log_destination','logging_collector','log_filename','log_rotation_age','log_rotation_
size');

Uscire dall’utility di creazione DB, utilizzando il comando \q e successivamente exit
Backup DATABASE

E’ possibile eseguire da riga di comando un backup del DB, posizionandosi nella cartella
/opt/PostgreSQL/9.5/bin ed utilizzando il comando

./pg_dump -U postgres -f /tmp/mipzucchetti-$(date +%d-%m-%Y).backup -Fc mipzucchetti

Il comando genererà un file compresso con estensione .backup salvato nella directory /tmp del server

E’ possibile creare uno script di backup in formato .sh che effettui attraverso una pianificazione
definita dall’utente, un backup del DB con cancellazione di quelli più vecchi di 7 giorni

Di seguito lo script di esempio

### CONFIGURARE QUI CARTELLA DI DESTINAZIONE DEI BACKUP
backup_dir=/opt/PostgreSQL/9.6/Backup

# con il comando "echo" passo al postgres la password che altrimenti dovrebbe essere digitata
manualmente

### Rimuove file + vecchi di 1 settimana
find /$backup_dir/ -mtime +7 -type f -exec rm -f {} \;

echo postgres
echo "Backup Database in corso...Non inserire manualmente la password!"
cd $backup_dir
echo postgres | su postgres -c '/opt/PostgreSQL/9.6/bin/pg_dump --format=custom -f "mipzucchetti-
db-$(date +%d-%m-%Y).backup" mipzucchetti'
Restore DATABASE

E’ possibile eseguire da riga di comando un restore del DB, posizionandosi nella cartella
/opt/PostgreSQL/9.5/bin ed utilizzando il comando

./pg_restore --username postgres --verbose -d mipzucchetti /tmp/mipzucchetti-20-03-
2018.backup

E’ possibile amministrare l’istanza Postgres installata, anche da un client Windows installando
l’apposito tool PGADMIN, scaricabile dal link

https://www.pgadmin.org/download/

La versione attualmente scaricabile è PGADMIN4

https://www.postgresql.org/ftp/pgadmin/pgadmin4/v2.1/windows/

Una volta scaricata, procedere al setup seguendo le indicazioni presenti nel wizard

Successivamente avviare l’eseguibile PGADMIN4 e nella voce Server, impostare la connessione
all’istanza specificando

NAME
HOSTNAME/ADDRESS
PORT
PASSWORD POSTGRES
Una volta specificati i parametri di accesso, se non vi sono problematiche che impediscono la
connessione tra client e server (Es. firewall o antivirus) la stessa dovrebbe essere stabilita
Attraverso l’interfaccia grafica sarà possibile eseguire attività di backup/restore sul DB selezionato
ed eseguire query sul DB utilizzando lo strumento Query Tool
Puoi anche leggere