GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat PostgreSQL na Debian 11 / Debian 10

PostgreSQL (často zkráceně Postgres) je objektově-relační systém pro správu databází (ORDBMS), který klade důraz na rozšiřitelnost a shodu se standardy.

Má více než 30 let aktivního vývoje a osvědčenou architekturu, která mu vynesla silnou reputaci pro spolehlivost, integritu dat a výkon.

PostgreSQL je vydán pod licencí PostgreSQL a je dostupný pro Linux, Microsoft Windows, FreeBSD, OpenBSD a macOS.

V tomto příspěvku uvidíme, jak nainstalovat PostgreSQL na Debian 11 / Debian 10.

Přidat úložiště PostgreSQL

PostgreSQL publikuje balíčky pro operační systém Debian prostřednictvím jejich vyhrazeného úložiště a balíčky v jejich úložišti jsou čerstvější než balíčky dostupné v úložišti OS.

Nejprve aktualizujte index úložiště pomocí apt příkaz

sudo apt update

Poté nainstalujte podporu HTTPS pro apt, abyste získali balíčky z internetu.

sudo apt install -y curl apt-transport-https

Nyní importujte podpisový klíč 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 -

Nakonec přidejte informace o úložišti PostgreSQL do systému pomocí příkazu níže.

# 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

Nainstalujte PostgreSQL na Debian

Jakmile přidáte úložiště PostgreSQL, spusťte následující příkaz pro aktualizaci indexu úložiště.

sudo apt update

Poté nainstalujte PostgreSQL pomocí níže uvedeného příkazu na základě verze PostgreSQL, kterou chcete nainstalovat.

# PostgreSQL 13

sudo apt install -y postgresql-13

# PostgreSQL 12

sudo apt install -y postgresql-12

Nyní bude služba PostgreSQL spuštěna a spuštěna. Stav služby můžete zkontrolovat pomocí příkazu níže.

sudo systemctl status postgresql

Výstup:

 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.

Konfigurace serveru PostgreSQL

Ve výchozím nastavení PostgreSQL naslouchá na localhost (127.0.0.1), což nemusíte vždy chtít, protože externí aplikace se mohou potřebovat připojit k databázi. Nakonfigurujeme tedy PostgreSQL, aby naslouchal systémové IP adrese.

# PostgreSQL 13

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

# PostgreSQL 12

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

Nastavte listen_addresses na * nebo <IPAddress> .

listen_addresses = '192.168.0.10'

Restartujte službu PostgreSQL.

sudo systemctl restart postgresql

Nyní můžete použít netstat příkaz k potvrzení, zda PostgreSQL naslouchá na portu 5432 nebo ne.

sudo netstat -antup | grep 5432

Výstup:

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

ČTĚTE :Příkaz netstat nebyl v Debianu nalezen – Rychlá oprava

Přístup k PostgreSQL

Pro správu databáze PostgreSQL se budete muset přihlásit jako postgres (uživatel Linuxu) a poté musíte přistupovat k prostředí databáze pomocí psql příkaz.

sudo -u postgres psql

Výstup:

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

postgres=#

Na psql shell, spusťte níže uvedený příkaz pro změnu postgres uživatel (heslo správce databáze.

postgres=# \password

NEBO

postgres=# \password postgres

Vytvoření databáze PostgreSQL a uživatele

Nejprve vytvořte uživatele databáze pomocí níže uvedeného příkazu.

CREATE USER mydb_user WITH ENCRYPTED PASSWORD 'password';

Dále vytvořte databázi pomocí níže uvedeného příkazu.

CREATE DATABASE mydb WITH OWNER mydb_user;

Poté můžete udělit oprávnění uživateli mydb_user v nově vytvořené databázi.

GRANT ALL PRIVILEGES ON DATABASE mydb TO mydb_user;

Nyní zkontrolujte, zda byl uživatel vytvořen nebo ne.

postgres=# \du

Výstup:

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

postgres=#

Můžete také vypsat seznam databází a zjistit, zda vaše databáze mydb byl vytvořen.

postgres=# \l

Výstup:

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=#

Nakonec se přihlaste do mydb s uživatelem databáze mydb_user .

psql -h localhost -d mydb -U mydb_user

Výstup:

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=>

Závěr

To je vše. Doufám, že jste se naučili, jak nainstalovat PostgreSQL na Debian 11 / Debian 10.


Debian
  1. Jak nainstalovat Tomcat 8.5 na Debian 9

  2. Jak nainstalovat MongoDB na Debian 9

  3. Jak nainstalovat PostgreSQL 11 / 10 na Debian 9 a Debian 8

  1. Jak nainstalovat PostgreSQL na Debian 9

  2. Jak nainstalovat Nginx na Debian 9

  3. Jak nainstalovat Apache na Debian 9

  1. Jak nainstalovat Jenkins na Debian 9

  2. Jak nainstalovat Webmin na Debian 9

  3. Jak nainstalovat Tomcat 9 na Debian 9