Jak zainstalować bazę danych PostgreSQL w Debian 10

Jak zainstalować bazę danych PostgreSQL w Debian 10

PostgreSQL (Czasami nazywane Postgres) jest najbardziej zaawansowanym systemem bazy danych ogólnych i obiektowych open source z sprawdzoną architekturą, która działa na wszystkich głównych systemach operacyjnych. Jest to wysokowydajny, stabilny, skalowalny i rozszerzalny system bazy danych, który zapewnia niesamowitą integralność danych i obsługuje potężne dodatki.

Co ważne, PostgreSQL Umożliwia zdefiniowanie własnych typów danych, dodawanie niestandardowych funkcji, a nawet pisania kodu z różnych języków programowania, takich jak C/C ++, Java itp.

PostgreSQL jest używany przez znane firmy technologiczne, takie jak Apple, Fujitsu, Red Hat, Cisco, Juniper Network itp.

W tym artykule pokażemy, jak instalować, zabezpieczyć i konfigurować PostgreSQL serwer baz danych w Debian 10.

Wymóg:

  1. Zainstaluj minimalny serwer Debian 10 (Buster)

Instalowanie PostgreSQL Server na Debian 10

Żeby zainstalować PostgreSQL serwer bazy danych, użyj domyślnego menedżera pakietów Apt, który zainstaluje PostgreSQL 11 serwer i klient.

# apt Zainstaluj PostgreSQL-11 PostgreSQL-Client-111 
Zainstaluj PostgreSQL w Debian 10

NA Debian, jak każde inne demony, Postgres baza danych jest inicjowana natychmiast po zakończeniu instalacji pakietu, jak pokazano na poniższym zrzucie ekranu.

Inicjalizacja bazy danych PostgreSQL

Aby sprawdzić, czy Postgres baza danych jest naprawdę zainicjowana, możesz użyć PG_ISReady narzędzie, które sprawdza status połączenia serwera PostgreSQL, w następujący sposób.

# pg_isReady 
Sprawdź inicjalizację bazy danych

Poza tym, pod Systemd, Postgres Usługa jest również uruchamiana automatycznie i umożliwia uruchamianie w rozruchu systemowym. Aby upewnić się, że usługa działa dobrze, uruchom następujące polecenie.

# Status Systemctl PostgreSQL 
Sprawdź status PostgreSQL

Poniżej znajdują się inne przydatne polecenia SystemCtl do zarządzania usługą Postgres w ramach SystemD.

# Systemctl Start PostgreSQL # Systemctl restart Postgresql # Systemctl Stop PostgreSQL # Systemctl Reload PostgreSql #This Reloads Konfiguracja usługi 

Zabezpieczenie i konfigurowanie bazy danych PostgreSQL

Domyślnie, Postgres Wykorzystuje koncepcję ról do zarządzania uprawnieniami do dostępu do bazy danych, a role bazy danych są koncepcyjnie odrębne od użytkowników systemu operacyjnego. Rolą może być użytkownik lub grupa, a rola, która ma prawo do logowania, nazywa się użytkownikiem.

Świeżo zainicjowany system zawsze zawiera jedną predefiniowaną rolę zwaną Postgres, ma taką samą nazwę, jak nazywane konto użytkownika systemu operacyjnego Postgres, który służy do dostępu do PSQL (Postgres Shell) i inne programy bazy danych.

Konto użytkownika systemu Postgres nie jest chronione za pomocą hasła, aby je zabezpieczyć, możesz utworzyć hasło za pomocą narzędzie Passwd.

# Passwd Postgres 
Ustaw hasło dla użytkownika Postgres

Również Postgres Rola (lub użytkownik administracyjnej bazy danych, jeśli chcesz) nie jest domyślnie zabezpieczona. Musisz także zabezpieczyć hasłem. Teraz przełącz się na Postgres Konto użytkownika systemu i Postgres Rola (pamiętaj o ustawieniu silnego i bezpiecznego hasła), jak pokazano.

# Su - Postgres # psql -c „Zmień postgres użytkownika za pomocą hasła„ SecurePass_Here ”;” 
Bezpieczna rola administracyjna Postgres

Następnie wyjdź Postgres Konto, aby kontynuować przewodnik.

Konfigurowanie uwierzytelniania klienta

Główny Postgres Plik konfiguracyjny znajduje się pod adresem /etc/postgresql/11/main/postgresql.conf. Oprócz tego pliku, Postgres używa dwóch innych ręcznie zredagowanych plików konfiguracyjnych, które kontrolują uwierzytelnianie klienta.

Uwierzytelnianie klienta jest kontrolowane przez /etc/postgresql/11/main/pg_hba.conf plik konfiguracyjny. Postgres zapewnia wiele różnych metod uwierzytelniania klienta, w tym uwierzytelnianie oparte na hasłach. Połączenia klienta są uwierzytelnione na podstawie adresu hosta klienta, bazy danych i użytkownika.

Jeśli zdecydujesz się użyć Uwierzytelnianie oparte na hasłach, Możesz zaimplementować jedną z tych metod: MD5 lub hasło które działają podobnie, z wyjątkiem sposobu przesyłania hasła przez połączenie, a mianowicie MD5-Hashed i odpowiednio wyraźny tekst.

Za pomocą Uwierzytelnianie hasła MD5 Averats Hasło wąchania przez hakerów i unika przechowywania haseł na serwerze w zwykłym tekście. Metodę hasła można bezpiecznie użyć tylko wtedy, gdy połączenie jest chronione przez szyfrowanie SSL.

W tym przewodniku pokażemy, jak skonfigurować Uwierzytelnianie hasła MD5 do uwierzytelnienia klienta.

# vim/etc/postgresql/11/main/pg_hba.conf 

Poszukaj następującego wiersza i zmień metodę uwierzytelniania na MD5 Jak pokazano na zrzucie ekranu.

Lokalny wszystkie MD5 
Skonfiguruj metodę uwierzytelniania klienta

Zapisz zmiany w pliku i wyjdź z niego. Następnie zastosuj ostatnie zmiany, ponownie uruchamiając Postgres usługa w następujący sposób.

# Systemctl restart PostgreSQL 

Tworzenie nowej bazy danych i roli/użytkownika bazy danych w PostgreSQL

W tej ostatniej sekcji pokażemy, jak utworzyć nowego użytkownika bazy danych i rolę bazy danych do zarządzania nim. Najpierw przejdź do Postgres Konto i otwórz powłokę Postgres w następujący sposób.

# su - Postgres $ psql 

Aby utworzyć bazę danych o nazwie „Test_db” Uruchom następujące polecenie SQL.

postgres =# Utwórz bazę danych test_db; 

Następnie utwórz użytkownika bazy danych (rola z prawami logowania), który będzie zarządzał nową bazą danych w następujący sposób.

postgres =#Utwórz hasło testu użytkownika „[e -mail chroniony] _here”; #asume domyślnie funkcja logowania 

Aby połączyć się z test_db jako użytkownik test_user, Uruchom następujące polecenie.

 $ psql -d test_db -u test_user 
Utwórz nową bazę danych Postgres

Aby uzyskać więcej informacji, zobacz dokumentację PostgreSQL 11.

Wniosek

To na razie! W tym przewodniku pokazaliśmy, jak instalować, zabezpieczyć i konfigurować PostgreSQL serwer baz danych w Debian 10. Czy masz jakieś pytania lub przemyślenia do podzielenia się? Użyj poniższego formularza komentarza, aby do nas skontaktować.