Centos: 7 установить определенную версию PostgreSQL ( 9.2.23 )
Spisu treści:
- Wymagania wstępne
- Zainstaluj PostgreSQL z repozytoriów CentOS
- Zainstaluj PostgreSQL z repozytoriów PostgreSQL
- 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ą tworzyć złożone aplikacje internetowe.
W tym samouczku pokażemy dwie różne metody instalacji PostgreSQL na komputerze CentOS 7. Pierwsza metoda przeprowadzi Cię przez kroki niezbędne do zainstalowania PostgreSQL v9.2.23 z repozytoriów CentOS, podczas gdy druga pokaże, jak zainstalować najnowszą wersję PostgreSQL z oficjalnych repozytoriów PostgreSQL.
Jeśli twoja aplikacja nie wymaga najnowszej wersji, zalecamy użycie pierwszej metody i zainstalowanie PostgreSQL z repozytoriów CentOS.
Omówimy również podstawy administracji bazą danych PostgreSQL.
Wymagania wstępne
Przed kontynuowaniem tego samouczka upewnij się, że jesteś zalogowany jako użytkownik z uprawnieniami sudo.
Zainstaluj PostgreSQL z repozytoriów CentOS
W chwili pisania tego artykułu najnowsza wersja PostgreSQL dostępna z repozytoriów CentOS to PostgreSQL wersja 9.2.23.
Aby zainstalować PostgreSQL na serwerze CentOS, wykonaj następujące czynności:
-
Instalowanie PostgreSQL
Aby zainstalować serwer PostgreSQL wraz z pakietem contrib PostgreSQL, który oferuje kilka dodatkowych funkcji dla bazy danych PostgreSQL, po prostu wpisz:
sudo yum install postgresql-server postgresql-contribInicjalizacja bazy danych
Zainicjuj bazę danych PostgreSQL za pomocą następującego polecenia:
sudo postgresql-setup initdbInitializing database… OKUruchamianie PostgreSQL
Aby uruchomić usługę PostgreSQL i umożliwić jej uruchomienie podczas rozruchu, po prostu wpisz:
sudo systemctl start postgresqlsudo systemctl enable postgresqlWeryfikacja instalacji PostgreSQL
Aby zweryfikować instalację, spróbujemy połączyć się z serwerem bazy danych PostgreSQL za pomocą narzędzia
psqli wydrukować wersję serwera:sudo -u postgres psql -c "SELECT version();"PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit (1 row)
Zainstaluj PostgreSQL z repozytoriów PostgreSQL
W chwili pisania tego artykułu najnowsza wersja PostgreSQL dostępna z oficjalnych repozytoriów PostgreSQL to PostgreSQL w wersji 10.4. Przed przejściem do następnego kroku należy odwiedzić stronę repozytorium Yum PostgreSQL i sprawdzić, czy jest dostępna nowa wersja.
Wykonaj poniższe kroki, aby zainstalować najnowszą wersję PostgreSQL na serwerze CentOS:
-
Włączanie repozytorium PostgreSQL
Aby włączyć repozytorium PostgreSQL, wystarczy zainstalować plik
rpmrepozytorium:sudo yum installInstalowanie PostgreSQL
Po włączeniu repozytorium zainstaluj serwer PostgreSQL i pakiety contg PostgreSQL za pomocą:
sudo yum install postgresql10-server postgresql10-contribInicjalizacja bazy danych
Aby zainicjować typ bazy danych PostgreSQL:
sudo /usr/pgsql-10/bin/postgresql-10-setup initdbInitializing database… OKUruchamianie PostgreSQL
Aby uruchomić usługę PostgreSQL i umożliwić jej uruchamianie podczas rozruchu:
sudo systemctl start postgresql-10sudo systemctl enable postgresql-10Weryfikacja instalacji PostgreSQL
Aby zweryfikować instalację, spróbujemy połączyć się z serwerem bazy danych PostgreSQL za pomocą narzędzia
psqli wydrukować wersję serwera:sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit (1 row)
Role PostgreSQL i metody uwierzytelniania
Uprawnienia dostępu do bazy danych w PostgreSQL są obsługiwane z pojęciem 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 - 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 - Identyczny 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 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
Użytkownik
postgres
jest zwykle używany tylko z lokalnego hosta i zaleca się, aby nie ustawiać hasła dla tego użytkownika.
psql
binarnego
psql
którym jest
/usr/pgsql-10/bin/psql
.
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
baza danych o nazwie
johndb
i
johndb
uprawnienia do bazy danych.
-
Połącz się z powłoką PostgreSQL
sudo -u postgres psqlUtwórz nową rolę PostgreSQL
Następujące polecenie utworzy nową rolę o nazwie John:
create role john;Utwórz nową bazę danych PostgreSQL
Utwórz nową bazę danych o nazwie johndb za pomocą komendy
createdb:create database johndb;Przyznaj uprawnienia
Aby udzielić uprawnień
johnużytkownikowi bazy danych, którą utworzyliśmy w poprzednim kroku, 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 interfejsie lokalnym
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 /var/lib/pgsql/data/postgresql.conf
Jeśli korzystasz z PostgreSQL w wersji 10, ścieżka do pliku to
/var/lib/pgsql/10/data/postgresql.conf
./var/lib/pgsql/data/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 systemctl restart postgresql
Jeśli używasz PostgreSQL w wersji 10, zrestartuj usługę PostgreSQL z
systemctl restart postgresql-10
.
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:
/var/lib/pgsql/data/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
Jeśli korzystasz z PostgreSQL w wersji 10, pełna ścieżka do pliku to
/var/lib/pgsql/10/data/pg_hba.conf
.
Wniosek
Nauczyłeś się, jak instalować i konfigurować PostgreSQL na serwerze CentOS 7.
Więcej informacji na ten temat można znaleźć w dokumentacji PostgreSQL.
baza danych centos postgresqlJak zainstalować Postgresql na Centos 8
W tym przewodniku omówimy sposób instalacji serwera bazy danych PostgreSQL na CentOS 8. Omówimy również podstawy administracji bazą danych PostgreSQL.
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.







