Установка Postgresql в Debian 9 (Stretch)
Spisu treści:
- Wymagania wstępne
- Instalowanie PostgreSQL
- Role PostgreSQL i metody uwierzytelniania
- Tworzenie roli i bazy danych PostgreSQL
- Włącz zdalny dostęp do serwera PostgreSQL
- Wniosek
PostgreSQL, często nazywany po prostu Postgres, to ogólnodostępny obiektowy system zarządzania relacyjnymi bazami danych typu open source. PostgreSQL ma wiele zaawansowanych funkcji, takich jak kopie zapasowe online, odzyskiwanie punktu w czasie, transakcje zagnieżdżone, zapytania SQL i JSON, kontrola współbieżności wielu wersji (MVCC), replikacja asynchroniczna i wiele innych.
W tym samouczku pokażemy, jak zainstalować PostgreSQL na Debian 9 i poznasz podstawy podstawowej administracji bazami danych.
Wymagania wstępne
Przed kontynuowaniem tego samouczka upewnij się, że zalogowany użytkownik ma uprawnienia sudo.
Instalowanie PostgreSQL
W chwili pisania tego artykułu najnowsza wersja PostgreSQL dostępna z repozytoriów Debiana to PostgreSQL w wersji 9.6.
Aby zainstalować PostgreSQL na serwerze Debian, wykonaj następujące kroki:
-
Rozpocznij od aktualizacji indeksu lokalnego pakietu:
sudo apt updateZainstaluj serwer PostgreSQL i pakiet contg PostgreSQL, który zapewnia dodatkowe funkcje dla bazy danych PostgreSQL:
sudo apt install postgresql postgresql-contribPo zakończeniu instalacji usługa PostgreSQL uruchomi się automatycznie. Aby zweryfikować instalację, połączymy się z serwerem bazy danych PostgreSQL za pomocą narzędzia
psqli wydrukujemy wersję serwera:sudo -u postgres psql -c "SELECT version();"Dane wyjściowe będą wyglądać następująco:
version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)
Role PostgreSQL i metody uwierzytelniania
PostgreSQL obsługuje uprawnienia dostępu do bazy danych przy użyciu koncepcji ról. Rola może reprezentować użytkownika bazy danych lub grupę użytkowników bazy danych.
PostgreSQL obsługuje wiele metod uwierzytelniania. Najczęściej stosowane metody to:
- Zaufanie - Za pomocą tej metody rola może łączyć się bez hasła, o ile spełnione są kryteria zdefiniowane w
pg_hba.confpg_hba.conf. Hasło - Rola może się łączyć poprzez podanie hasła. Hasła mogą być przechowywane jakoscram-sha-256md5ipassword(czysty tekst) Ident - Ta metoda jest obsługiwana tylko w połączeniach TCP / IP. Działa poprzez uzyskanie nazwy użytkownika systemu operacyjnego klienta, z opcjonalnym mapowaniem nazwy użytkownika. Peer - Taki sam jak Ident, ale jest obsługiwany tylko w połączeniach lokalnych.
Uwierzytelnianie klienta PostgreSQL jest zdefiniowane w pliku konfiguracyjnym o nazwie
pg_hba.conf
. Domyślnie w przypadku połączeń lokalnych PostgreSQL jest skonfigurowany do korzystania z metody uwierzytelniania równorzędnego.
Użytkownik
postgres
jest tworzony automatycznie podczas instalacji PostgreSQL. Ten użytkownik jest superużytkownikiem instancji PostgreSQL i jest równoważny z użytkownikiem root MySQL.
Aby zalogować się do serwera PostgreSQL jako użytkownik postgres, musisz najpierw przejść do użytkownika postgre, a następnie uzyskać dostęp do monitu PostgreSQL za pomocą narzędzia
psql
:
sudo su - postgres
psql
Stąd możesz wchodzić w interakcje z instancją PostgreSQL. Aby wyjść z typu powłoki PostgreSQL:
\q
Możesz użyć polecenia
sudo
aby uzyskać dostęp do monitu PostgreSQL bez przełączania użytkowników:
sudo -u postgres psql
Użytkownik
postgres
jest zwykle używany tylko z lokalnego hosta i zaleca się, aby nie ustawiać hasła dla tego użytkownika.
Tworzenie roli i bazy danych PostgreSQL
Możesz tworzyć nowe role z wiersza poleceń za pomocą polecenia
createuser
. Tylko superużytkownicy i role z uprawnieniem
CREATEROLE
mogą tworzyć nowe role.
W poniższym przykładzie utworzymy nową rolę o nazwie
john
baza danych o nazwie
johndb
i
johndb
uprawnienia do bazy danych.
-
Utwórz nową rolę PostgreSQL
Następujące polecenie utworzy nową rolę o nazwie John:
sudo su - postgres -c "createuser john"Utwórz nową bazę danych PostgreSQL
Utwórz nową bazę danych o nazwie johndb za pomocą komendy
createdb:sudo su - postgres -c "createdb johndb"Przyznaj uprawnienia
Aby udzielić uprawnień
johnużytkownikowi bazy danych, którą utworzyliśmy w poprzednim kroku, połącz się z powłoką PostgreSQL:sudo -u postgres psqli uruchom następujące zapytanie:
grant all privileges on database johndb to john;
Włącz zdalny dostęp do serwera PostgreSQL
Domyślnie serwer PostgreSQL nasłuchuje tylko na lokalnym interfejsie
127.0.0.1
. Aby umożliwić zdalny dostęp do serwera PostgreSQL, otwórz plik konfiguracyjny
postgresql.conf
i dodaj
listen_addresses = '*'
w sekcji
CONNECTIONS AND AUTHENTICATION
.
sudo vim /etc/postgresql/9.6/main/postgresql.conf
/etc/postgresql/9.6/main/postgresql.conf
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
zapisz plik i zrestartuj usługę PostgreSQL za pomocą:
sudo service postgresql restart
Sprawdź zmiany za pomocą narzędzia
ss
:
ss -nlt | grep 5432
LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*
Jak widać z danych wyjściowych powyżej, serwer PostgreSQL nasłuchuje na wszystkich interfejsach (0.0.0.0).
Ostatnim krokiem jest skonfigurowanie serwera do akceptowania połączeń zdalnych poprzez edycję pliku
pg_hba.conf
.
Poniżej znajduje się kilka przykładów pokazujących różne przypadki użycia:
/etc/postgresql/9.6/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Wniosek
Nauczyłeś się, jak instalować i konfigurować PostgreSQL na serwerze Debian 9. Więcej informacji na ten temat można znaleźć w dokumentacji PostgreSQL.
baza danych debian postgresqlJak zainstalować i skonfigurować Redis na Debianie 9
Redis to open-source magazyn danych klucz-wartość. Może być używany jako baza danych, pamięć podręczna i broker komunikatów i obsługuje różne struktury danych, takie jak ciągi, skróty, listy, zestawy itp. W tym samouczku wyjaśniono, jak zainstalować i skonfigurować Redis na serwerze Debian 9.
Jak zainstalować i skonfigurować nagios na Debianie 9
Nagios to popularne oprogramowanie monitorujące typu open source. W tym samouczku wyjaśniono, jak zainstalować i skonfigurować najnowszą wersję Nagios Core w systemie Debian 9.
Jak zainstalować Postgresql na Debianie 10
Ten samouczek poprowadzi Cię przez kolejne etapy instalacji serwera bazy danych PostgreSQL w systemie Debian 10. PostgreSQL, często zwany po prostu Postgres, to ogólnodostępny obiektowy system zarządzania relacyjnymi bazami danych.







