SQL - урок 1. Установка postgresql на Ubuntu 18.04.LTS.
Spisu treści:
- Wymagania wstępne
- Zainstaluj PostgreSQL na Ubuntu
- 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 typu open source. PostgreSQL ma wiele zaawansowanych funkcji, które pozwalają tworzyć złożone aplikacje internetowe.
W tym samouczku pokażemy, jak zainstalować PostgreSQL na Ubuntu 18.04 i poznasz podstawy podstawowej administracji bazami danych.
Wymagania wstępne
Przed kontynuowaniem tego samouczka upewnij się, że jesteś zalogowany jako użytkownik z uprawnieniami sudo.
Zainstaluj PostgreSQL na Ubuntu
W chwili pisania tego artykułu najnowsza wersja PostgreSQL dostępna z oficjalnych repozytoriów Ubuntu to PostgreSQL w wersji 10.4.
Aby zainstalować PostgreSQL na serwerze Ubuntu, wykonaj następujące czynności:
-
Instalowanie PostgreSQL
Odśwież indeks lokalnego pakietu i zainstaluj serwer PostgreSQL wraz z pakietem contrib PostgreSQL, który zapewnia kilka dodatkowych funkcji dla bazy danych PostgreSQL:
sudo apt updatesudo apt install postgresql postgresql-contribWeryfikacja instalacji PostgreSQL
Po zakończeniu instalacji usługa PostgreSQL uruchomi się automatycznie.
Aby zweryfikować instalację, spróbujemy połączyć się z serwerem bazy danych PostgreSQL przy użyciu
psqli wydrukować wersję serwera:sudo -u postgres psql -c "SELECT version();"
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 stosowane 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 - 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 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.
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 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 /etc/postgresql/10/main/postgresql.conf
/etc/postgresql/10/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/10/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 Ubuntu 18.04.
Więcej informacji na ten temat można znaleźć w dokumentacji PostgreSQL 10.4.
baza danych postgresql ubuntuJak 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 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.








