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
- Prerequisiti
- Impostazione del repository
- Installazione di PostgreSQL 15
- Impostazione dell'autenticazione dell'utente e della crittografia della password
- Impostazione della password per l'utente PostgreSQL
- Creazione di un nuovo database e utente su PostgreSQL
- Crea tabella e inserisci dati
- Recupero e aggiornamento dei dati
- Ripulisci l'ambiente
- 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.