Installazione Database Postgres con interfaccia web di amministrazione (PGAdmin4)

Il setup e’ per una Ubuntu Server 20.04 (che e’ l’ultima LTS al momento). Il server e’ senza interfaccia grafica quindile istruzioni sono tuttte a riga comando. Alla fine si avra’ il server Ubuntu con il database e l’interfaccia di amministrazione via browser. Partiamo:

Aggiorniamo il sistema con:

sudo apt update
sudo apt upgrade

Installiamo il motore di database:

sudo apt install postgresql postgresql-contrib

L’installazione crea un utente di linux e uno di database con lo stesso nome (postgres). impostiamo la password per entrambi:

sudo passwd postgres (per linux)
sudo -u postgres psql
\password

Ci sono altri modi ma a me piace questo.

A questo punto il database e’ pronto, settato per accessi solo da locale e senza interfaccia di amministrazione.

Per abilitare l’accesso da remoto editiamo il file:

nano /etc/postgresql/12/main/pg_hba.conf

aggiungere la seguente riga (attenzione che si abilita tutto da tutto):

host all all all trust

nano /etc/postgresql/12/main/postgresql.conf

aggiungiamo (il database e’ in ascolto su tutte le schede di rete):

listen_addresses=’*’

a questo punto installiamo l’interfaccia di amministrazione web:

curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add –
sudo sh -c ‘echo “deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/focal pgadmin4 main” > /etc/apt/sources.list.d/pgadmin4.list’

sudo apt install pgadmin4-web

Non aggiungere pgpadmin o pgpadmin-desktop se no installa anche un pezzo di ambiente grafico!!

a questo punto abilitiamo l’accesso da web con:

sudo /usr/pgadmin4/bin/setup-web.sh
chiedera’ una mail e una password per l’accesso.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Postgresql recupero password di accesso

Mi è capitato ieri di dover accedere ad un database Postgresql su una macchina dismessa (linux debian) con Postgresql 8.1. Avevo a disposizione solo gli accessi Linux (root) ma non quelli del db.

Ecco come fare per accedere ai dati db, sostanzialmente si edita il file di configurazione permettendo l’accesso al db a utenti generici, una volta dentro si resetta la password o si rimette tutto come prima :

  • Accedere alla macchina come root (o come Administrator)
  • salvare il file di configurazione accessi del db /etc/postgresql/pg_hba.conf
  • editare il file  /etc/postgresql/pg_hba.conf
  • Io ho impostato le credenziali per accedere a tutti i db da tutti (la macchina era in rete locale ed il db era da buttare ma se il db è in produzione consiglio di leggere sotto alcune restrizioni
  • impostare:
    • local all all trust
    • host all all trust
  • Estrarre i dati che servono
  • reimpostare il file  /etc/postgresql/pg_hba.conf salvato in precedenza

Ecco un estratto delle varie opzioni di configurazione:

# Permette a tutti gli utenti locali di connettersi a tutti i database

# tramite Unix-domain sockets
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all trust

# La stessa cosa usando una connessione TCP/IP locale (loopback) #
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 127.0.0.1/32 trust

# OPPURE con ip e netmask
host all all 127.0.0.1 255.255.255.255 trust

#Permette a tutti gli utenti di connettersi da un indirizzo IP 192.168.93.x
#al database “postgres” come utente con lo stesso username che ident riporta per
#la connessione (tipicamente lo Unix user name)
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host postgres all 192.168.93.0/24 ident sameuser

# Permette a tutti gli utenti di connettersi dal 192.168.12.10 al database
# “postgres” se la password md5 fornita è corretta.
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host postgres all 192.168.12.10/32 md5

# In questo caso stiamo negando qualsiasi connessione dal 192.168.54.1 dato che
# capita per prima ma accetta connessioni tramite Kerberos 5 da ogni altro
# indirizzo
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 192.168.54.1/32 reject
host all all 0.0.0.0/0 krb5

# Permette agli utenti da 192.168.x.x di connettersi a tutti I db, se
# il controllo ident viene superato. Ad esempio, ident dice che l’utente
# “pippo” e ha richiesto di connettersi come utente PostgreSQL “guest1”, la
# connessione è permessa se c’è un entry in pg_ident.conf per la map
# “omicron” che indica che “pippo” è autorizzato a connettersi come “guest1”.
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 192.168.0.0/16 ident omicron

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Utilizzo i cookie per essere sicuro che tu possa avere la migliore esperienza sul mio sito. Se continui ad utilizzare questo sito assumo che tu ne sia felice.. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi