GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare PostgreSQL su Debian 11 / Debian 10

PostgreSQL (spesso abbreviato in Postgres) è un sistema di gestione di database relazionali a oggetti (ORDBMS) che enfatizza l'estensibilità e la conformità agli standard.

Vanta oltre 30 anni di sviluppo attivo e un'architettura collaudata che gli è valsa una solida reputazione per affidabilità, integrità dei dati e prestazioni.

PostgreSQL è rilasciato sotto la licenza PostgreSQL ed è disponibile per Linux, Microsoft Windows, FreeBSD, OpenBSD e macOS.

In questo post vedremo come installare PostgreSQL su Debian 11 / Debian 10.

Aggiungi repository PostgreSQL

PostgreSQL pubblica i pacchetti per il sistema operativo Debian attraverso il loro repository dedicato e i pacchetti nel loro repository sono più recenti di quelli disponibili nel repository del sistema operativo.

Per prima cosa, aggiorna l'indice del repository usando apt comando

sudo apt update

Quindi, installa il supporto HTTPS per apt per ottenere pacchetti da Internet.

sudo apt install -y curl apt-transport-https

Ora importa la chiave di firma di PostgreSQL.

# Debian 11

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg

# Debian 10

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Infine, aggiungi le informazioni del repository PostgreSQL al sistema con il comando seguente.

# Debian 11

echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

# Debian 10

echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

Installa PostgreSQL su Debian

Dopo aver aggiunto il repository PostgreSQL, esegui il comando seguente per aggiornare l'indice del repository.

sudo apt update

Quindi, installa PostgreSQL utilizzando il comando seguente in base alla versione di PostgreSQL che desideri installare.

# PostgreSQL 13

sudo apt install -y postgresql-13

# PostgreSQL 12

sudo apt install -y postgresql-12

A questo punto, il servizio PostgreSQL sarà attivo e funzionante. Puoi controllare lo stato del servizio con il comando seguente.

sudo systemctl status postgresql

Risultato:

 postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2021-09-15 14:19:30 CDT; 42s ago
 Main PID: 3759 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2343)
   Memory: 0B
   CGroup: /system.slice/postgresql.service

Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Starting PostgreSQL RDBMS...
Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Started PostgreSQL RDBMS.

Configura PostgreSQL Server

Per impostazione predefinita, PostgreSQL è in ascolto su localhost (127.0.0.1), che potrebbe non essere sempre necessario poiché le applicazioni esterne potrebbero aver bisogno di connettersi al database. Quindi, configureremo PostgreSQL per ascoltare l'indirizzo IP del sistema.

# PostgreSQL 13

sudo nano /etc/postgresql/13/main/postgresql.conf

# PostgreSQL 12

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

Imposta il listen_addresses a * o <IPAddress> .

listen_addresses = '192.168.0.10'

Riavvia il servizio PostgreSQL.

sudo systemctl restart postgresql

Ora puoi usare netstat comando per confermare se PostgreSQL è in ascolto sulla porta 5432 o meno.

sudo netstat -antup | grep 5432

Risultato:

tcp        0      0 192.168.0.10:5432       0.0.0.0:*               LISTEN      5265/postgres

LEGGI :comando netstat non trovato su Debian – Quick Fix

Accedi a PostgreSQL

Per gestire il database PostgreSQL, dovrai accedere come postgres (utente Linux) e quindi accedere alla shell del database utilizzando psql comando.

sudo -u postgres psql

Risultato:

postgres@server:~$ psql
psql (13.4 (Debian 13.4-1.pgdg100+1))
Type "help" for help.

postgres=#

Su psql shell, esegui il comando seguente per modificare postgres utente (password amministratore database.

postgres=# \password

O

postgres=# \password postgres

Crea database e utente PostgreSQL

Innanzitutto, crea un utente del database con il comando seguente.

CREATE USER mydb_user WITH ENCRYPTED PASSWORD 'password';

Quindi, crea un database con il comando seguente.

CREATE DATABASE mydb WITH OWNER mydb_user;

Quindi, puoi concedere privilegi a mydb_user sul database appena creato.

GRANT ALL PRIVILEGES ON DATABASE mydb TO mydb_user;

Ora controlla se l'utente è stato creato o meno.

postgres=# \du

Risultato:

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 mydb_user |                                                            | {}
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

postgres=#

Inoltre, puoi elencare i database per vedere se il tuo database mydb è stato creato.

postgres=# \l

Risultato:

postgres=# \l
                                   List of databases
   Name    |   Owner   | Encoding |   Collate   |    Ctype    |    Access privileges
-----------+-----------+----------+-------------+-------------+-------------------------
 mydb      | mydb_user | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/mydb_user          +
           |           |          |             |             | mydb_user=CTc/mydb_user
 postgres  | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres            +
           |           |          |             |             | postgres=CTc/postgres
 template1 | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres            +
           |           |          |             |             | postgres=CTc/postgres
(4 rows)

postgres=#

Infine, accedi a mydb con l'utente del database mydb_user .

psql -h localhost -d mydb -U mydb_user

Risultato:

Password for user mydb_user:
psql (13.4 (Debian 13.4-1.pgdg110+1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

mydb=>

Conclusione

È tutto. Spero che tu abbia imparato come installare PostgreSQL su Debian 11 / Debian 10.


Debian
  1. Come installare Tomcat 8.5 su Debian 9

  2. Come installare MongoDB su Debian 9

  3. Come installare PostgreSQL su Debian 9

  4. Come installare Nginx su Debian 9

  5. Come installare PostgreSQL 11/10 su Debian 9 e Debian 8

Come installare Gitea con PostgreSQL su Debian 11

Come installare PostgreSQL su Debian 11

Come installare Vai su Debian 11

Come installare phpPgAdmin su Debian 11

Come installare Odoo su Debian 11

Come installare PostgreSQL su Debian 11?