Android

Jak zainstalować Postgresql na Ubuntu 18.04

SQL - урок 1. Установка postgresql на Ubuntu 18.04.LTS.

SQL - урок 1. Установка postgresql на Ubuntu 18.04.LTS.

Spisu treści:

Anonim

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:

  1. 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 update sudo apt install postgresql postgresql-contrib

    Weryfikacja 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 psql i wydrukować wersję serwera:

    sudo -u postgres psql -c "SELECT version();"

psql to interaktywne narzędzie wiersza poleceń, które umożliwia interakcję z serwerem PostgreSQL.

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.conf pg_hba.conf. Hasło - Rola może się łączyć poprzez podanie hasła. Hasła mogą być przechowywane jako scram-sha-256 md5 i password (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.

  1. 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ń john użytkownikowi bazy danych, którą utworzyliśmy w poprzednim kroku, połącz się z powłoką PostgreSQL:

    sudo -u postgres psql

    i 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 ubuntu