Ricerca nel sito web

Come installare PostgreSQL 15 su Rocky Linux 9


Questo tutorial esiste per queste versioni del sistema operativo

  • Rocky Linux 9
  • Rocky Linux 8.4

Su questa pagina

  1. Prerequisiti
  2. Impostazione del repository
  3. Installazione di PostgreSQL 15
  4. Impostazione dell'autenticazione dell'utente e della crittografia della password
  5. Impostazione della password per l'utente PostgreSQL
  6. Creazione di un nuovo database e utente su PostgreSQL
  7. Crea tabella e inserisci dati
  8. Recupero e aggiornamento dei dati
  9. Ripulisci l'ambiente
  10. Conclusione

PostgreSQL è un sistema di gestione di database gratuito e open source incentrato sull'estensibilità e sulla conformità SQL. PostgreSQL è un RDBMS (Relational Database Management System) avanzato e di classe enterprise che supporta query SQL (relazionali) e JSON (non relazionali).

È un sistema di gestione di database altamente stabile supportato da oltre 20 anni di sviluppo da parte della comunità open source e gode di una solida reputazione tra gli sviluppatori e gli amministratori di sistema per la sua affidabilità, flessibilità, robustezza delle funzionalità e prestazioni.

PostgreSQL è utilizzato come database primario per applicazioni web, applicazioni mobili, e applicazioni analitiche. Alcuni importanti utenti di PostgreSQL in tutto il mondo sono Reddit, Skype, Instagram, Disqus, The Guardian, Yandex, Bloomberg, Nokia, BMW, ecc.

Questo tutorial ti guiderà attraverso l'installazione dell'ultimo PostgreSQL 15 su un server Rocky Linux 9. Questo ti guida anche attraverso l'utilizzo di base di PostgreSQL per creare utenti/ruoli, gestire database, creare tabelle, inserire e recuperare dati.

Prerequisiti

Avrai bisogno dei seguenti requisiti per completare questa guida:

  • Un server Rocky Linux 9 - Questo esempio utilizzerà Rocky Linux con nome host postgresql-rocky.
  • Un utente non root con privilegi di amministratore sudo/root.
  • Un SELinux eseguito in modalità permissiva.

Passiamo all'installazione di PostgreSQL 15.

Configurazione del deposito

Al momento di questo cablaggio, PostgreSQL 15 non è disponibile nel repository Rocky Linux. Quindi, per installare PostgreSQL 15, devi utilizzare il repository PostgreSQL ufficiale.

Il primo passo sarà l'installazione e l'aggiunta di repository PostgreSQL al tuo server Rocky Linux 9.

Esegui il comando seguente per aggiungere il repository PostgreSQL ufficiale al tuo sistema. Questo repository può essere utilizzato per più versioni di distribuzione basate su RHEL 9.

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Durante il processo, riceverai il seguente output:

Ora verifica l'elenco dei repository disponibili tramite il comando dnf di seguito.

sudo dnf repolist

Riceverai un output simile a questo screenshot: hai aggiunto più versioni di repository PostgreSQL al tuo Rocky Linux, inclusa l'ultima versione di PostgreSQL 15.

Con l'aggiunta del repository PostgreSQL, nel passaggio successivo spiegherai come installare e configurare PostgreSQL 15.

Installazione di PostgreSQL 15

In questo passaggio, installerai PostgreSQL 15 su Rocky Linux, inizializzerai il database e le configurazioni di PostgreSQL, quindi avvierai e abiliterai il servizio PostgreSQL 15.

Eseguire il comando dnf seguente per installare il server PostgreSQL 15. Immettere y quando viene richiesta la configurazione, quindi premere INVIO per procedere.

sudo dnf install postgresql15-server postgresql15-contrib

Inoltre, quando viene richiesto di accettare le chiavi GPG per il repository PostgreSQL, immettere y per confermare e premere INVIO per procedere.

Dopo aver installato PostgreSQL 15, eseguire il comando seguente per inizializzare il database e la configurazione di PostgreSQL.

sudo postgresql-15-setup initdb

Con questo, riceverai un output come Inizializzazione del database in corso... OK.

Ora esegui l'utilità di comando systemctl di seguito per avviare e abilitare il servizio PostgreSQL 15.

sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

Infine, verifica il servizio PostgreSQL 15 tramite il comando systemctl below. Questo assicurerà che il tuo server PostgreSQL 15 sia abilitato e funzionante.

sudo systemctl status postgresql-15

Riceverai un output come questo screenshot: lo stato di PostgreSQL 15 è in esecuzione ed è abilitato, il che significa che il servizio verrà avviato automaticamente all'avvio.

Ora che hai installato il server PostgreSQL 15, è abilitato e funzionante. Nel passaggio successivo, imposterai il metodo di autenticazione per gli utenti PostgreSQL.

Impostazione dell'autenticazione dell'utente e della crittografia della password

Con PostgreSQL 15 installato e in esecuzione, ora puoi passare alla configurazione dell'autenticazione PostgreSQL. Questo può essere configurato tramite il file di configurazione pg_hba.conf nella directory di configurazione di PostgreSQL.

Accedi alla shell PostgreSQL tramite il seguente comando.

sudo -u postgres psql

Dopo aver effettuato l'accesso, esegui le query seguenti per verificare la configurazione predefinita di PostgreSQL che ha memorizzato i metodi di autenticazione e verifica la crittografia della password corrente che utilizza sul tuo server PostgreSQL.

SHOW hba_file;
SHOW password_encryption;

Riceverai un output simile a questo: il file di configurazione PostgreSQL predefinito per l'autenticazione è /var/lib/pgsql/15/data/pg_hba.conf e l'autenticazione della password predefinita abilitata è scram-sha- 256.

Ora apri il file di configurazione di PostgreSQL /var/lib/pgsql/15/data/pg_hba.conf usando il seguente comando nano editor.

sudo nano /var/lib/pgsql/15/data/pg_hba.conf

Modificare la configurazione predefinita con le seguenti righe. Questo cambierà l'autenticazione della password da localhost a scram-sha-256. Per la connessione locale, puoi utilizzare il peer predefinito o utilizzare l'autenticazione della password scram-sha-256.

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256

Salva il file ed esci dall'editor al termine.

Successivamente, esegui il comando systemctl di seguito per riavviare il servizio PostgreSQL 15 e applicare le modifiche.

sudo systemctl restart postgresql-15

Infine, per verificare la tua configurazione, accedi alla shell PostgreSQL tramite il comando seguente.

sudo -u postgres psql

Controllare i dettagli della connessione utilizzando la query seguente. Dovresti vedere che ti sei connesso a PostgreSQL tramite la connessione locale peer unix_socket.

\conninfo

Ora, se specifichi l'host PostgreSQL al localhost di 127.0.0.1, dovresti vedere la connessione tramite l'autenticazione della password usando scram-sha-256.

sudo -u postgres psql -U postgres -h 127.0.0.1
\conninfo

Impostazione della password per l'utente PostgreSQL

Per impostazione predefinita, PostgreSQL ha creato un nuovo utente di sistema e l'utente PostgreSQL con il nome postgres. E in questo passaggio, imposterai una nuova password sia per l'utente Linux postgres tramite riga di comando sia per l'utente PostgreSQL postgres tramite la shell PostgreSQL.

Per iniziare, esegui il comando seguente per creare una nuova password per l'utente postgres. Inserisci la nuova password e ripeti, assicurati di utilizzare la password sicura per il tuo utente postgres.

sudo passwd postgres

Quindi, accedi alla shell PostgreSQL tramite il comando seguente.

sudo -u postgres psql

Esegui la query seguente per modificare la password dell'utente PostgreSQL predefinito postgres. E assicurati di utilizzare la password nella seguente query.

ALTER USER postgres WITH PASSWORD 'p4ssw0rdPostgreSQL15';
exit

Digita exit per uscire dalla shell PostgreSQL.

Infine, accedi nuovamente al server PostgreSQL tramite il comando seguente.

sudo -u postgres psql -U postgres -h 127.0.0.1

Quando viene richiesta la password, inserisci la password del server PostgreSQL che hai creato. Quindi, premere INVIO.

In caso di successo, dovresti vedere la shell PostgreSQL nello screenshot qui sotto. È inoltre possibile verificare lo stato della connessione tramite la seguente query.

\conninfo

In questo passaggio, hai modificato e configurato la password per l'utente PostgreSQL predefinito postgres. Hai anche creato una nuova password per l'utente UNIX predefinito postgres. Nella fase successiva imparerai come creare un nuovo utente PostgreSQL e creare un nuovo database per la tua applicazione.

Creazione di un nuovo database e utente su PostgreSQL

In questo passaggio imparerai come creare un nuovo utente e database PostgreSQL tramite la shell PostgreSQL. Imparerai anche come controllare l'elenco dei database e degli utenti disponibili sul server PostgreSQL.

Innanzitutto, assicurati di aver effettuato l'accesso alla shell PostgreSQL. oppure puoi accedere tramite il comando seguente.

sudo -u postgres psql

Crea un nuovo utente PostgreSQL utilizzando la query seguente. Questo esempio creerà un nuovo utente alice con i privilegi CREATEDB per la creazione di database e CREATEROLE\ per la creazione di ruoli in PostgreSQL.

CREATE USER alice WITH CREATEDB CREATEROLE PASSWORD 'p4ssw0rdAlice';

Successivamente, crea un nuovo database utilizzando la query PostgreSQL riportata di seguito. Per questo esempio, creerai due database, il database alice e il database testdb. Entrambi i database avranno lo stesso proprietario, ovvero l'utente alice.

CREATE DATABASE alice OWNER alice;
CREATE DATABASE testdb OWNER alice;

Ora verifica l'elenco degli utenti e l'elenco dei database sul tuo server PostgreSQL.

\du
\l

L'output della query \du per la visualizzazione dell'elenco degli utenti sul server PostgreSQL. Il nuovo utente alice viene creato con i privilegi CREATEDB e CREATEROLE.

L'output della query \l per visualizzare l'elenco dei database sul server PostgreSQL. Vedrai nuovi database alice e testdb viene creato.

Infine, per verificare il nuovo utente PostgreSQL, accederai alla shell PostgreSQL tramite il nuovo utente alice.

Esegui il comando seguente per accedere alla shell PostgreSQL tramite l'utente alice. Quando viene richiesta la password, inserire la password e premere INVIO per confermare.

sudo -u postgres psql -U alice -h 127.0.0.1

Dopo aver effettuato l'accesso alla shell PostgreSQL, esegui la query seguente per mostrare le connessioni di dettaglio correnti.

\conninfo

Dovresti ricevere un output simile a questo: ti sei connesso al server PostgreSQL tramite l'utente alice e ti sei connesso al database alice.

Con questo, ora hai creato utenti e database PostgreSQL. Inoltre, hai effettuato l'accesso alla shell PostgreSQL tramite il nuovo utente. Nella fase successiva imparerai come creare una tabella e inserirvi alcuni dati.

Crea tabella e inserisci dati

Dopo aver creato un nuovo utente e database PostgreSQL, ora imparerai come creare una tabella e inserire dati in PostgreSQL. Imparerai anche come passare a un database diverso su PostgreSQL e come controllare le tabelle di elenco sul database PostgreSQL.

Prima di iniziare, assicurati di aver effettuato l'accesso alla shell PostgreSQL come utente alice.

Verificare l'elenco dei database per assicurarsi che il database testdb sia disponibile.

\l

Ora passa al database testdb tramite la seguente query. Puoi usare \connect o semplicemente usare \c.

\connect testdb

Dopo essere passato al database testdb, la tua shell PostgreSQL dovrebbe diventare così testdb=>.

Successivamente, esegui la query seguente per creare una nuova tabella users con alcune colonne id, name, age, <indirizzo e stipendio.

CREATE TABLE users (
   id INT PRIMARY KEY     NOT NULL,
   name           TEXT    NOT NULL,
   age            INT     NOT NULL,
   address        CHAR(50),
   salary         REAL
);

L'output CREATE TABLE conferma che la nuova tabella è stata creata nel database.

Ora verifica l'elenco della tabella sul database corrente tramite la query seguente. Dovresti vedere la tabella utenti creata.

\dt

Dopo aver creato la nuova tabella, inserirai alcuni dati in essa tramite la query INSERT.

Esegui la seguente query INSERT per aggiungere alcuni dati alla tabella utenti.

INSERT INTO users (id,name,age,address,salary) VALUES (1, 'Paul', 32, 'California', 20000.00);
INSERT INTO users (id,name,age,address,salary) VALUES (2, 'Jesse', 35, 'Mexico', 30000.00);
INSERT INTO users (id,name,age,address,salary) VALUES (3, 'Linda', 27, 'Canada', 40000.00);

L'uscita INSERT 0 1 conferma che i nuovi dati sono stati aggiunti alla tabella.

Con la tabella creata e alcuni dati aggiunti a PostgreSQL, imparerai come recuperare i dati da PostgreSQL e aggiornare i dati disponibili in PostgreSQL.

Recupero dei dati e aggiornamento dei dati

Dopo aver creato una tabella su PostgreSQL e aver inserito alcuni dati tramite la query INSERT, imparerai come recuperare i dati tramite la query SELECT e come aggiornare o modificare i dati su colonne specifiche tramite la query UPDATE.

Per recuperare i dati, esegui la seguente query PostgreSQL. Questo recupererà i dati dalla tabella users di PostgresSQL.

SELECT * FROM users;

Riceverai un output come questo: tutti i dati sulla tabella utenti verranno visualizzati sulla tua shell PostgreSQL.

Puoi anche recuperare i dati da colonne specifiche tramite la query seguente. Questa query recupererà i dati da colonne specifiche nome, età e stipendio.

SELECT name,age,salary FROM users;

Di seguito è riportato l'output che riceverai sul tuo terminale.

Successivamente, esegui la query UPDATE di seguito per modificare i dati nel database PostgreSQL. Ciò aggiornerà i dati sull'indirizzo di colonna in Svezia per il valore del nome di colonna Paul.

UPDATE users SET address = 'Sweden' WHERE name = 'Paul';

L'uscita UPDATE 1 conferma che i dati sono stati aggiornati e modificati.

Eseguire la query seguente per assicurarsi che i dati nel database vengano modificati.

SELECT * FROM users;

Riceverai un output simile a questo: la colonna address viene aggiornata per name=Paul.

A questo punto, hai imparato l'utilizzo di base della query PostgreSQL per creare un utente, un database, una tabella, inserire dati, recuperare dati e aggiornare dati sul server PostgreSQL.

Ripulire l'ambiente

In questo passaggio, ripulirai il tuo ambiente server PostgreSQL 15 eliminando il database e gli utenti che hai creato. Quindi hai ripulito l'installazione di PostgreSQL 15 ma hai anche imparato a ripulire il tuo server PostgreSQL rimuovendo utenti, database e tabelle inutilizzati.

Prima di iniziare, accedi a PostgreSQL come utente postgres predefinito.

sudo -u postgres psql

Passa al database testdb utilizzando la query \connect.

\connect testdb;

Esegui la query seguente per eliminare la tabella users, quindi verifica l'elenco delle tabelle nel database corrente.

DROP TABLE users;
\dt

L'output Non ha trovato alcuna relazione. conferma che la tabella utenti è stata rimossa.

Successivamente, passa al database postgres ed elimina il database alice e testdb.

\connect postgres
DROP DATABASE alice;
DROP DATABASE testdb;

Verificare l'elenco dei database tramite la query seguente. Vedrai che entrambi i database alice e testdb vengono rimossi dal server PostgreSQL.

\l

Infine, esegui la query seguente per eliminare l'utente alice. Quindi, verifica l'elenco degli utenti sul server PostgreSQL.

DROP USER alice;
\du

Riceverai un output che l'utente alice è stato eliminato dal server PostgreSQL

Con questo, hai ripulito il tuo server PostgreSQL e hai anche imparato le query di base per eliminare utenti, database e tabelle sul server PostgreSQL.

Conclusione

Questa guida ti ha insegnato come installare l'ultima versione di PostgreSQL 15 su un server Rocky Linux 9. Hai installato PostgreSQL tramite il repository PostgreSQL ufficiale e hai anche appreso la configurazione di base dell'autenticazione PostgreSQL.

Inoltre, hai imparato a utilizzare il server PostgreSQL. Dalla creazione di un utente, alla modifica della password dell'utente, alla creazione di un database e di una tabella, all'inserimento di dati, all'interrogazione dei dati, all'aggiornamento dei dati e alla pulizia del server PostgreSQL rimuovendo una tabella, un database e un utente inutilizzati.

PostgreSQL è un RDBMS aziendale (Relational Database Management System), più utilizzato nelle industrie moderne su Internet. Con ciò, potresti voler controllare e apprendere altre query di PostgreSQL in seguito, oppure puoi anche imparare come distribuire PostgreSQL ad alta disponibilità con più server.