GNU/Linux >> Linux Esercitazione >  >> Rocky Linux

Come installare e utilizzare PostgreSQL 13 su Rocky Linux

PostgreSQL è un sistema di gestione di database gratuito e open source incentrato sull'estendibilità 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 sviluppatori e 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 utenti PostgreSQL importanti in tutto il mondo sono Reddit, Skype, Instagram, Disqus, The Guardian, Yandex, Bloomberg, Nokia, BMW, ecc.

In questa guida imparerai come installare il database PostgreSQL su Rocky Linux, proteggere la distribuzione del database PostgreSQL e l'utilizzo di base delle query PostgreSQL per la gestione di utenti e database.

Prerequisiti

  • Un sistema Rocky Linux.
  • Un utente con privilegi di root o sudo. Questo utente verrà utilizzato per installare nuovi pacchetti e apportare modifiche a tutto il sistema.

Aggiunta del repository PostgreSQL

Per questa guida, installerai l'ultima versione stabile di PostgreSQL v13.4. Questa versione è disponibile nel repository PostgreSQL ufficiale, quindi devi aggiungere il repository PostgreSQL al tuo sistema Rocky Linux.

1. Aggiungi il repository PostgreSQL ufficiale per il sistema Rocky Linux eseguendo il comando seguente.

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

2. Quindi, esegui il seguente comando di seguito per verificare che il repository PostgreSQL sia disponibile sul tuo sistema.

sudo dnf -qy repolist

Se il repository PostgreSQL è disponibile sul tuo sistema, vedrai più versioni di repository PostgreSQL come screenshot qui sotto.

Installazione di PostgreSQL 13 su Rocky Linux

Per poter installare PostgreSQL dal repository PostgreSQL ufficiale (non dal repository Rocky Linux), devi disabilitare il modulo del repository PostgreSQL integrato.

1. Esegui il seguente comando di seguito per disabilitare il repository di moduli PostgreSQL integrato.

sudo dnf module -qy disable postgresql

Il comando eseguirà il comando DNF in modalità non interattiva e accetterà tutte le chiavi gpg (opzione -qy ) per i repository PostgreSQL.

2. Successivamente, installa l'ultima versione di PostgreSQL 13.4 dal repository PostgreSQL utilizzando il comando dnf di seguito.

sudo dnf install postgresql13-server

Digita 'y ' e premi 'Invio ' per installare PostgreSQL 13.x.

Quindi attendi l'installazione di PostgreSQL.

Inizializzazione del database PostgreSQL

Successivamente, al termine dell'installazione di PostgreSQL, è necessario inizializzare la configurazione di PostgreSQL, quindi avviare e abilitare il servizio PostgreSQL.

1. Eseguire il comando seguente per inizializzare la configurazione del database PostgreSQL.

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

2. Successivamente, avvia e abilita il servizio PostgreSQL utilizzando il comando seguente.

sudo systemctl abilita postgresql-13
sudo systemctl avvia postgresql-13

Ora il servizio PostgreSQL è attivo e in esecuzione e verrà eseguito automaticamente ad ogni avvio.

3. Ora esegui il comando seguente per verificare il servizio PostgreSQL.

sudo systemctl status postgresql-13

Se il tuo servizio PostgreSQL è in esecuzione, vedrai l'output verde come "active(running)" come sotto. In caso contrario, vedrai l'output rosso come "non riuscito " seguito dai registri dei messaggi di errore.

Protezione della distribuzione di PostgreSQL

Durante l'installazione, PostgreSQL creerà un nuovo utente di sistema e un nome utente di database come "postgres ". E per questa fase, imposterai una nuova password per "postgres " utente, sia per l'utente di sistema e utente del database .

1. Modifica la password per l'utente di sistema predefinito "postgres " usando il comando seguente.

passwd postgres

Ora digita la nuova password per l'utente di sistema "postgres ".

2. Quindi, per cambiare la password per "postgres " utente del database, devi accedere alla shell di PostgreSQL.

Innanzitutto, accedi come utente di sistema "postgres " usando il comando seguente.

su - postgres

Ora accedi alla shell di PostgreSQL usando il comando psql di seguito.

psql

Esegui la query seguente per creare una nuova password per l'impostazione predefinita "postgres " utente del database.

ALTER USER postgres CON PASSWORD 'strongpostgrespassword';

Ora digita exit e premi "Ctrl+d " per uscire e disconnettersi da 'postgres ' shell utente.

Modifica metodo di autenticazione

Per impostazione predefinita, gli utenti PostgreSQL locali si collegheranno alla shell PostgreSQL usando il metodo 'peer'. Il metodo di autenticazione peer funzionerà solo per le connessioni locali. Nell'ambiente di sviluppo, puoi utilizzare questo tipo di autenticazione, ma per la produzione, considera l'utilizzo del metodo di autenticazione basato su password.

In questa fase, imparerai come modificare il metodo di autenticazione peer predefinito in autenticazione tramite password utilizzando 'scram-sha-256 '.

1. Per prima cosa, accedi alla shell di PostgreSQL usando il seguente comando.

sudo -u postgres psql

Ora esegui la seguente query per verificare la posizione della configurazione di PostgreSQL 'pg_hba.conf '.

MOSTRA hba_file;
MOSTRA password_encryption;

Vedrai l'output come di seguito.

Noterai che la configurazione di PostgreSQL "pg_hba.conf" si trova in '/var/lib/pgsql/13/data ' e la crittografia della password predefinita per PostgreSQL su sistema operativo basato su RHEL è 'scram-sha-256 '.

Ora digita '\q' per uscire e uscire dalla shell di PostgreSQL.

2. Quindi, cambia la directory di lavoro in '/var/lib/pgsql/13/data ' e modifica la configurazione 'pg_hba.conf ' usando l'editor nano.

cd /var/lib/pgsql/13/data/
nano pg_hba.conf

In fondo alla riga, cambia il metodo di autenticazione locale in 'scram-sha-256 ' come di seguito.

# digita il metodo dell'indirizzo utente del database 

# "locale" è solo per le connessioni di socket di dominio unix
locali All All Scram-sha-256
# IPv4 Connessioni locali:
host    tutti             tutti             127.0.0.1/32            scram-sha-256
# connessioni locali IPv6:
host    tutti            tutti             ::1/128         6         

Ora premi 'Ctrl+x ', digita 'y ' e premi "Invio " per salvare ed uscire.

Usando questa configurazione, ti verrà richiesta la password per accedere alla shell di PostgreSQL.

3. Successivamente, applica la nuova configurazione riavviando il servizio PostgreSQL utilizzando il comando seguente.

sudo systemctl restart postgresql-13

Ora ogni volta che vuoi accedere alla shell di PostgreSQL, devi digitare la password per l'autenticazione.

4. Per accertarti della configurazione dell'autenticazione della password, accedi alla shell di PostgreSQL utilizzando il comando seguente.

su - postgres
psql

Ora ti verrà richiesta una password per l'utente predefinito 'postgres '.

Digita la password per 'postgres ' utente del database e premere 'Invio '. Se la tua password è corretta, vedrai la shell PostgreSQL come segue. In caso contrario, vedrai il messaggio 'FATAL ' errore perché la password non è corretta.

Inoltre, puoi utilizzare il comando a riga singola per accedere alla shell di PostgreSQL come di seguito.

# Accedi come utente predefinito "postgres"
sudo -u postgres psql

# Accedi come un altro utente
sudo -u postgres psql -U username

Creazione di un nuovo utente e database per la tua applicazione

In questa fase imparerai come creare un nuovo utente e database su PostgreSQL.

1. Accedi alla shell di PostgreSQL eseguendo il comando seguente.

sudo -u postgres psql

Ora digita la password per l'utente PostgreSQL 'postgres '.

2. Eseguire la query PostgreSQL di seguito per creare un nuovo utente "johndoe" con la password "johndoestrongpassword" e assegnare all'utente i privilegi per la creazione di un nuovo database e ruolo.

CREA UTENTE johndoe CON 
CREATEDB
CREATEROLE
PASSWORD 'johndoestrongpassword';

Successivamente, verifica il nuovo utente utilizzando la seguente query.

\du

Ora vedrai il nuovo utente 'johndoe' con l'elenco dei ruoli 'Crea ruolo ' e 'Crea DB ' come di seguito.

3. Quindi, per creare un nuovo database utente su PostgreSQL, esegui la seguente query.

CREA DATABASE johndoe PROPRIETARIO johndoe;

Ora verifica il nuovo database utilizzando la seguente query.

\l

E vedrai il nuovo database "johndoe" con il proprietario "johndoe" come screenshot qui sotto.

Crea tabella e inserisci dati

Dopo aver creato un nuovo database e un nuovo utente, imparerai come creare una tabella, inserire dati e mostrare i dati dal database.

1. Ora accedi alla shell di PostgreSQL come utente 'johndoe' usando il seguente comando.

su - postgres
psql -U johndoe

Oppure puoi usare il comando a una riga come di seguito.

sudo -u postgres psql -U johndoe

Ora digita la password per l'utente PostgreSQL 'johndoe ' e premi 'Invio ' per accedere.

Come puoi vedere nello screenshot, ora sei connesso alla shell PostgreSQL nel database 'johndoe=> '.

2. Ora esegui la seguente query per creare una nuova tabella "utenti" con alcune colonne "id, nome, età, indirizzo e stipendio".

CREATE TABLE users (
   id INT PRIMARY KEY     NOT NULL,
   name           TEXT    NOT NULL,
   età            INT     NOT NULL,
   address        CHAR(50),
stipendio         REAL
);

Per visualizzare le tabelle disponibili nel database corrente, utilizzare '\d ' interroga come 'descrivi ' come di seguito.

\d

Per visualizzare le colonne sulla tabella, puoi utilizzare la stessa query seguita dal nome della tabella come indicato di seguito.

\d utenti

Di seguito è riportato l'output simile che otterrai.

3. Successivamente, aggiungi nuovi dati alla tabella utilizzando 'insert ' interrogare come di seguito.

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

4. Successivamente, puoi mostrare tutti i dati disponibili utilizzando 'seleziona ' interrogare come di seguito.

SELEZIONA * DAGLI utenti;

L'opzione '*' scaricherà tutte le colonne all'interno della tabella.

Per specificare la colonna, puoi utilizzare 'seleziona ' interrogare come di seguito.

SELEZIONARE nome,età,stipendio DA utenti;

Vedrai un output simile come di seguito.

Conclusione

Congratulazioni! Ora hai imparato come installare PostgreSQL su Rocky Linux. Inoltre, hai imparato a distribuire PostgreSQL in modo sicuro (minimo) e l'utilizzo di base delle query PostgreSQL per la gestione di utenti, database e tabelle.


Rocky Linux
  1. Come installare Wikijs su Rocky Linux

  2. Come installare e utilizzare MongoDB su Rocky Linux 8

  3. Come installare e utilizzare pgAdmin 4 su Rocky Linux 8

  4. Come installare e utilizzare Podman per eseguire container su Rocky Linux 8

  5. Come installare e utilizzare Podman in Rocky Linux/Alma Linux/Centos 8

Come installare PostgreSQL su Rocky Linux 8

Come installare e utilizzare Docker nel tuo sistema Linux

Come installare e utilizzare YouTube-DL su sistema Linux

Come installare e utilizzare Google Chrome su sistema Linux

Come installare e utilizzare il compilatore GCC su sistema Linux

Come installare e utilizzare AsciiDoc nel sistema Linux