How to Install PostgreSQL 12 on CentOS 8 RHEL 8
Spisu treści:
- Wymagania wstępne
- Instalowanie PostgreSQL na CentOS 8
- Role PostgreSQL i metody uwierzytelniania
- Tworzenie roli i bazy danych PostgreSQL
- Włącz zdalny dostęp do serwera PostgreSQL
- Wniosek
PostgreSQL lub Postgres to ogólnodostępny obiektowy system zarządzania relacyjnymi bazami danych o otwartym kodzie źródłowym z wieloma zaawansowanymi funkcjami, które pozwalają budować środowiska odporne na uszkodzenia lub złożone aplikacje.
W tym przewodniku omówimy sposób instalacji serwera bazy danych PostgreSQL na CentOS 8. Przed wybraniem wersji do zainstalowania upewnij się, że aplikacje ją obsługują.
Omówimy również podstawy administracji bazą danych PostgreSQL.
Wymagania wstępne
Aby móc instalować pakiety, musisz być zalogowany jako użytkownik root lub użytkownik z uprawnieniami sudo.
Instalowanie PostgreSQL na CentOS 8
W chwili pisania tego artykułu dostępne są dwie wersje serwera PostgreSQL ze standardowych repozytoriów CentOS: wersja 9.6 i 10.0.
Aby wyświetlić listę dostępnych strumieni modułów PostgreSQL, wpisz:
dnf module list postgresql
Dane wyjściowe pokazują, że moduł postgresql jest dostępny z dwoma strumieniami. Każdy strumień ma dwa profile: serwer i klient. Strumień 10 z serwerem profilu jest domyślny:
CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module
-
Aby zainstalować domyślny strumień, typ serwera PostgreSQL w wersji 10.0:
sudo dnf install @postgresql:10Aby zainstalować serwer PostgreSQL w wersji 9.6:
sudo dnf install @postgresql:9.6
Możesz także zainstalować pakiet contrib, który zapewnia kilka dodatkowych funkcji dla bazy danych PostgreSQL:
sudo dnf install postgresql-contrib
Po zakończeniu instalacji zainicjuj bazę danych PostgreSQL za pomocą następującego polecenia:
sudo postgresql-setup initdb
Initializing database… OK
Uruchom usługę PostgreSQL i włącz ją podczas uruchamiania:
sudo systemctl enable --now postgresql
Użyj narzędzia
psql
, aby zweryfikować instalację, łącząc się z serwerem bazy danych PostgreSQL i wydrukuj jego wersję:
sudo -u postgres psql -c "SELECT version();"
PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit
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 stosowanymi metodami są:
- Zaufanie - rola może łączyć się bez hasła, o ile spełnione są warunki określone w
pg_hba.confpg_hba.conf. Hasło - rola może łączyć się przez podanie hasła. Hasła mogą być przechowywane jakoscram-sha-256,md5ipassword(czysty tekst).Ident - Obsługiwane 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 serwera PostgreSQL. Ten użytkownik jest superużytkownikiem instancji PostgreSQL. Jest to odpowiednik użytkownika root MySQL.
Aby zalogować się do serwera PostgreSQL jako użytkownik
postgres
, najpierw przełącz się na użytkownika, a następnie
psql
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 powłoki PostgreSQL, wpisz:
\q
Możesz również uzyskać dostęp do monitu PostgreSQL bez przełączania użytkowników za pomocą polecenia
sudo
:
sudo -u postgres psql
Zazwyczaj użytkownik
postgres
jest używany tylko z hosta lokalnego.
Tworzenie roli i bazy danych PostgreSQL
Tylko superużytkownicy i role z uprawnieniem
CREATEROLE
mogą tworzyć nowe role.
W poniższym przykładzie utworzymy nową rolę o nazwie
john
, bazę danych o nazwie
johndb
i
johndb
uprawnienia do bazy danych.
-
Najpierw połącz się z powłoką PostgreSQL:
sudo -u postgres psqlUtwórz nową rolę PostgreSQL za pomocą następującego polecenia:
create role john;Utwórz nową bazę danych:
create database johndb;Przyznaj uprawnienia użytkownikowi w bazie danych, uruchamiając 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 interfejsie lokalnym
127.0.0.1
.
Aby włączyć zdalny dostęp do serwera PostgreSQL, otwórz plik konfiguracyjny:
sudo nano /var/lib/pgsql/data/postgresql.conf
Przewiń w dół do sekcji
CONNECTIONS AND AUTHENTICATION
i dodaj / edytuj następujący wiersz:
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
Zapisz plik i uruchom ponownie usługę PostgreSQL za pomocą:
sudo systemctl restart postgresql
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:*
Powyższe dane wyjściowe pokazują, że serwer PostgreSQL nasłuchuje na domyślnym porcie 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:
/var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane can access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane can access only the janedb database from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane can access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Wniosek
CentOS 8 udostępnia dwie wersje PostgreSQL: 9.6 i 10.0.
Aby uzyskać więcej informacji na ten temat, odwiedź dokumentację PostgreSQL
baza danych centos postgresqlJak zainstalować Postgresql na Centos 7
PostgreSQL lub Postgres to ogólnodostępny obiektowy system zarządzania relacyjnymi bazami danych typu open source. W tym samouczku pokażemy dwie różne metody instalacji PostgreSQL na komputerze CentOS 7.
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.
Jak zainstalować Postgresql na Debianie 9
PostgreSQL, często nazywany po prostu Postgres, to ogólnodostępny obiektowy system zarządzania relacyjnymi bazami danych. W tym samouczku pokażemy, jak zainstalować PostgreSQL na Debianie 9 i poznasz podstawy podstawowej administracji bazami danych.







