Questa guida ti guida attraverso alcune attività comuni relative a un server Postgres. In questo tutorial tratteremo l'installazione di Postgres, la creazione di nuovi database e utenti, il backup dei database e altro ancora! Scendiamo!
Nota:il resto di questo tutorial richiede che tu abbia root privilegi. Inizia accedendo come root o anteponendo a questi comandi sudo .
Installazione di PostgreSQL
Installare Postgres è semplice nel nostro server CentOS VPS, grazie al gestore di pacchetti YUM. Esegui il seguente comando per installare Postgres sul tuo sistema:
yum install -y postgres-server
Configurazione di PostreSQL
Ora che Postgres è installato, è il momento di configurare il servizio. Innanzitutto, Postgres richiede di inizializzare un database prima che possa essere utilizzato. Fortunatamente, forniscono un comando per semplificarci questo passaggio:
postgres-setup initdb
Imposteremo Postgres in modo che si avvii automaticamente all'avvio del server. Eseguire il comando seguente per abilitare il servizio all'avvio:systemctl enable postgres
Successivamente, avvieremo il servizio. Il seguente comando avvierà Postgres se non è già in esecuzione:systemctl start postgres
Infine, controlliamo che Postgres sia in esecuzione dopo il riavvio:service postgres status
L'output dovrebbe essere attivo (in esecuzione) a indicare che il servizio è attivo e che siamo pronti per procedere!
Creazione di un nuovo database e aggiunta di un nuovo utente
Postgres viene eseguito come utente "postgres" sul tuo sistema CentOS Linux, non come "root". Questo è importante da notare perché non puoi interagire con Postgres come root.
Per prima cosa, passiamo a "postgres " utente. Questo utente è stato creato automaticamente nel tuo sistema quando abbiamo installato Postgres.su - postgres
Successivamente, creeremo un nuovo database. Lo chiamiamo "mydatabase ” nel nostro esempio, ma sentiti libero di nominarlo come preferisci.createdb mydatabase
Ora aggiungeremo un nuovo utente per quel database. In questo esempio, utilizziamo il nome utente "myusername ”, ma puoi nominarlo come preferisci.createuser myusername
Concessione delle autorizzazioni al database PostgreSQL
Finora abbiamo installato Postgres, creato un nuovo database e creato un nuovo utente per l'accesso al database. Rimane solo un passaggio, ovvero concedere le autorizzazioni in modo che il nostro nuovo utente possa accedere al database. Per avviare questo processo, dobbiamo prima entrare nella "shell postgres". Immettere il seguente comando:psql
Dopo aver premuto invio, dovresti notare che il tuo prompt dei comandi è cambiato, indicando che ora sei nella shell di Postgres.psql (9.2.24)
Type “help” for help.
postgres =#
Da qui, ora possiamo aggiungere le autorizzazioni per il nostro nuovo utente per accedere al database. Immettere il comando seguente per impostare una password per il nostro utente. Ci sono poche cose da notare. Innanzitutto, sono necessarie le virgolette singole attorno alla password! In secondo luogo, assicurati di sostituire l'esempio my_secure_password per una password sicura e legittima! Infine, assicurati di includere il punto e virgola alla fine dell'istruzione. È facile non vederlo!alter username myusername with encrypted password ‘my_secure_password’;
Postgres dovrebbe rispondere con il seguente testo informandoti che è riuscito.ALTER ROLE
Ora che la password è stata creata, imposteremo i permessi sul database. Ciò consentirà a myusername di accedere a mydatabase.grant all privileges on database mydatabase to myusername;
Postgres risponderà con il seguente testo se il comando è riuscito.GRANT
Ricontrolliamo il nostro lavoro e verifichiamo che il database si presenti in Postgres. Dalla shell, esegui \list comandare e osservare attentamente l'output. Dovresti vedere "il mio database ” nell'elenco dei database.
Sono stati fatti! Inserisci il seguente comando per uscire dalla shell di Postgres.\quit
Come eseguire il backup di un database PostgreSQL
Esistono diversi modi per eseguire il backup di un database Postgres. Per il nostro esempio oggi, ti mostreremo come utilizzare l'eccellente "pg_dump ", che restituisce l'intero database come un unico file. Creare backup è un gioco da ragazzi! Esegui il comando seguente per eseguire il backup del nostro database. Tieni presente che abbiamo utilizzato il nome "mydatabase.bak ” nel nostro esempio, ma puoi nominare il tuo file di backup come preferisci.pg_dump mydatabase > mydatabase.bak
Ora puoi facilmente copiare o spostare questo file ovunque desideri archiviare i backup. Come best practice, consigliamo vivamente di archiviare i backup su un disco di backup dedicato, separato dall'unità del sistema operativo. In questo modo i tuoi backup sono sani e salvi, anche nell'improbabile eventualità di un arresto anomalo del sistema.
Come eliminare un database PostgreSQL
L'eliminazione di un database è un processo semplice. Ti richiede prima di accedere alla shell di Postgres. Un rapido promemoria che puoi accedere alla shell di Postgres con il seguente comando:psql
Da qui, è un unico comando per eliminare il database. Eliminiamo il nostro database di esempio.drop database mydatabase
Postgres confermerà il successo con il seguente messaggio:DROP DATABASE
Nota:se specifichi un database che non esiste, Postgres risponderà con il seguente errore:ERROR: database “my_other_database” does not exist
Puoi verificare che il database sia stato eliminato utilizzando \list comando all'interno della shell di Postgres. Osserva l'output e dovresti notare che "mydatabase ” è stato rimosso dall'elenco dei database.
Come ripristinare un database PostgreSQL dai backup
Ora che abbiamo eliminato il nostro database chiamato "mydatabase ”, vediamo come ripristinare quel database dal backup che abbiamo creato. Innanzitutto, dobbiamo utilizzare un modello vuoto per ospitare il database ripristinato. Assicurati di eseguire il comando seguente come utente Postgres e dalla shell BASH (non dalla shell Postgres!)createdb -T template0 mydatabase
Ora che abbiamo il nostro segnaposto modello, possiamo importare i dati.psql mydatabase < /path/to/mydatabase.bak
Il database è stato ora ripristinato. Se esegui \list sempre dalla shell di Postgres, vedrai apparire di nuovo "mydatabase" nel nostro elenco di database!
Congratulazioni per essere arrivato alla fine di questa puntata. Abbiamo coperto molto terreno in questo tutorial! Abbiamo solo scalfito la superficie di questo argomento e puoi già iniziare a capire perché gli amministratori di database ricoprono posizioni dedicate in molte aziende! Fortunatamente, Liquid Web è qui per aiutarti con tutte le tue esigenze di database. Il nostro team di professionisti può aiutarti a consigliare e gestire i tuoi database. Mandaci un messaggio se hai domande e grazie per aver letto!