Zarządzanie bazami danych z wiersza poleceń wiąże się z krzywą uczenia się, aby jak najlepiej ją wykorzystać.
Wiersz poleceń może czasami być uciążliwy, a wyświetlacz może nie być optymalny dla tego, co robisz.
Przeglądanie baz danych i tabel, sprawdzanie indeksów lub uprawnień użytkowników, monitorowanie, zarządzanie, a nawet kodowanie może stać się naprawdę kłopotliwe podczas próby obsługi tego za pomocą konsoli.
Nie chodzi o to, że nie musisz zarządzać poleceniami wiersza poleceń (jest to na pewno konieczne), ale jest kilka narzędzi, które mogą pomóc Ci przyspieszyć wiele codziennych zadań DBA.
Przyjrzyjmy się, o co chodzi w tych narzędziach i przejrzyj niektóre z nich.
Co to jest narzędzie GUI?
GUI lub graficzny interfejs użytkownika to oprogramowanie, które upraszcza zadania użytkowników dzięki graficznym ikonom i wizualnym wskaźnikom. Akcje są wykonywane przy użyciu elementów graficznych.
Dlaczego powinienem używać narzędzia GUI?
Korzystanie z GUI nie jest koniecznością, ale może być przydatne. Jedną z głównych zalet GUI jest to, że są one ogólnie łatwiejsze do nauczenia niż wiele poleceń i prawdopodobnie jedna akcja w GUI może wygenerować kilka poleceń w celu wykonania zadania.
Kolejną zaletą może być to, że GUI jest bardziej przyjazny niż wiersz poleceń, aw większości przypadków nie potrzebujesz żadnej wiedzy programistycznej ani administratora, aby z niego korzystać.
Ale powinieneś być ostrożny przed wykonaniem zadania z GUI, ponieważ używając niewłaściwego przycisku, możesz wygenerować duży problem, taki jak usunięcie tabeli; i z tego powodu zachowaj ostrożność podczas korzystania z tego rodzaju narzędzia.
Najlepsze narzędzia GUI dla PostgreSQL
Zobaczmy teraz niektóre z najpopularniejszych narzędzi GUI dla PostgreSQL.
Zwróć uwagę, że dla przykładów instalacji przetestujemy go na Ubuntu 18.04 Bionic.
pgAdmin
pgAdmin to jedna z najpopularniejszych platform administracyjnych i programistycznych Open Source dla PostgreSQL.
Został zaprojektowany z myślą o potrzebach zarówno początkujących, jak i doświadczonych użytkowników PostgreSQL, zapewniając potężny interfejs graficzny, który upraszcza tworzenie, konserwację i używanie obiektów bazy danych.
Jest obsługiwany w systemach Linux, Mac OS X i Windows. Obsługuje wszystkie funkcje PostgreSQL, od pisania prostych zapytań SQL po tworzenie złożonych baz danych. Jest przeznaczony do wysyłania zapytań do aktywnej bazy danych, co pozwala być na bieżąco z modyfikacjami i wdrożeniami. pgAdmin 4, aktualna wersja, może zarządzać PostgreSQL 9.2 i nowszymi.
Funkcje
- Wyświetlanie graficznego planu zapytań
- Kreator przyznawania do szybkich aktualizacji list ACL
- Debuger języka proceduralnego
- Zarządzanie automatycznym odkurzaniem
- Panel monitorowania
- Tworzenie kopii zapasowych, przywracanie, odkurzanie i analiza na żądanie
- Agent planowania zadań SQL/shell/wsadowych
- Automatyczne wykrywanie i obsługa obiektów wykrytych w czasie wykonywania
- Narzędzie do zapytań SQL na żywo z bezpośrednią edycją danych
- Obsługa zapytań administracyjnych
- Edytor SQL podświetlający składnię
- Przeprojektowane interfejsy graficzne
- Potężne okna dialogowe zarządzania i narzędzia do typowych zadań
- Reagujące, kontekstowe zachowanie
- Obsługujące komunikaty o błędach
- Przydatne wskazówki
- Pomoc online i informacje o korzystaniu z okien dialogowych i narzędzi pgAdmin
Instalacja
Najpierw musimy zaimportować klucz repozytorium.
$ sudo apt-get install curl ca-certificates
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
I utwórz plik /etc/apt/sources.list.d/pgdg.list. Dystrybucje nazywają się codename-pgdg. W naszym przykładzie powinien być bionic-pgdg.
$ deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
Aby określić nazwę kodową swojej dystrybucji, możesz uruchomić polecenie lsb_release -c.
Następnie musisz zaktualizować listy pakietów i zainstalować pakiet pgadmin:
$ sudo apt-get update
$ sudo apt-get install pgadmin4
Następnie wystarczy uruchomić polecenie pgadmin4:
$ pgadmin4
Konfiguracja
Instalacja tworzy serwer pgAdmin nasłuchujący na określonym porcie. Ten port zmienia się za każdym razem, gdy uruchamiasz polecenie pgadmin4. Po uruchomieniu programu możesz zarządzać swoją bazą danych z interfejsu internetowego, do którego uzyskuje się dostęp za pomocą ikony pgAdmin na pasku zadań.

Aby połączyć się z bazą danych, musisz wybrać opcję Dodaj nowy serwer i uzupełnić informacje o połączeniu.

Następnie możesz zarządzać swoją bazą danych za pomocą pgAdmin 4.

Projekt wygląda dobrze i jest to intuicyjny interfejs. Wykresy na ekranie głównym mogą pomóc w wykryciu jakiegoś problemu w twoim systemie.
Instalacja wymaga dodania repozytorium, więc może wymagać dodatkowych umiejętności.
ClusterControl
ClusterControl obsługuje wdrażanie, zarządzanie, monitorowanie i skalowanie PostgreSQL.
Każda wdrożona instancja PostgreSQL jest automatycznie konfigurowana przy użyciu łatwego w użyciu interfejsu ClusterControl typu „wskaż i kliknij”.
Możesz zarządzać kopiami zapasowymi, uruchamiać zapytania i przeprowadzać zaawansowane monitorowanie wszystkich urządzeń nadrzędnych i podrzędnych; wszystko z automatycznym przełączaniem awaryjnym, jeśli coś pójdzie nie tak.
Funkcje automatyzacji w ClusterControl pozwalają łatwo skonfigurować środowisko replikacji PostgreSQL, w którym można dodawać nowe urządzenia podrzędne replikacji od podstaw lub używać już skonfigurowanych.
Pozwala także promować mistrzów i odbudowywać niewolników.
Istnieją dwie wersje:Community Edition lub Enterprise Edition.
Funkcje
- Zarządzanie kopiami zapasowymi
- Monitorowanie i alarmowanie
- Wdrażanie i skalowanie
- Aktualizacje i poprawki
- Bezpieczeństwo i zgodność
- Raportowanie operacyjne
- Zarządzanie konfiguracją
- Automatyczne odzyskiwanie i naprawa
- Zarządzanie wydajnością
- Zautomatyzowani doradcy wydajności
Instalacja
Do instalacji możesz użyć instalacji automatycznej, ręcznej lub offline.
W tym przykładzie użyjemy instalacji automatycznej.
Musisz pobrać następujący skrypt i uruchomić go z uprawnieniami roota na serwerze ClusterControl:
$ wget http://www.severalnines.com/downloads/cmon/install-cc
$ chmod +x install-cc
$ sudo ./install-cc
Następnie musisz uzupełnić informacje, takie jak hasła lub konfiguracja, i gotowe.
Konfiguracja
Po zakończeniu instalacji powinno być możliwe otwarcie interfejsu ClusterControl w przeglądarce internetowej przy użyciu nazwy hosta lub adresu IP serwera, na przykład:http://192.168.100.191/clustercontrol/

Tutaj możesz wykonać kilka zadań, takich jak wdrażanie, importowanie, monitorowanie, a nawet więcej.

Po zaimportowaniu lub wdrożeniu klastra PostgreSQL przez ClusterControl możesz nim zarządzać za pomocą kompletnego, przyjaznego interfejsu internetowego.

Działa na serwerze, więc możesz z niego korzystać z dowolnego miejsca. Całe oprogramowanie jest instalowane przez ClusterControl, więc nie musisz wykonywać żadnej instalacji ręcznie.
Administrator
Adminer to w pełni funkcjonalne narzędzie do zarządzania bazami danych napisane w PHP.
Składa się z jednego pliku gotowego do wdrożenia na serwerze docelowym.
Administrator jest dostępny dla MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch i MongoDB. Obecna wersja to 4.7 i została wydana w listopadzie.
Funkcje
- Połącz się z serwerem bazy danych za pomocą nazwy użytkownika i hasła
- Wybierz istniejącą bazę danych lub utwórz nową
- Lista pól, indeksów, kluczy obcych i wyzwalaczy tabeli
- Zmień nazwę, silnik, sortowanie, auto_inkrementację i komentarz tabeli
- Zmień nazwę, typ, sortowanie, komentarz i domyślne wartości kolumn
- Dodaj i upuść tabele i kolumny
- Twórz, zmieniaj, upuszczaj i wyszukuj według indeksów, w tym pełnego tekstu
- Twórz, zmieniaj, upuszczaj i łącz listy za pomocą kluczy obcych
- Twórz, zmieniaj, upuszczaj i wybieraj z widoków
- Tworzenie, zmienianie, usuwanie i wywoływanie procedur i funkcji składowanych
- Twórz, zmieniaj i upuszczaj wyzwalacze
- Wymień dane w tabelach z wynikami wyszukiwania, agregacji, sortowania i ograniczania
- Wstawiaj nowe rekordy, aktualizuj i usuwaj istniejące
- Obsługuje wszystkie typy danych, obiekty blob poprzez transfer plików
- Wykonaj dowolne polecenie SQL z pola tekstowego lub pliku
- Eksportuj strukturę tabeli, dane, widoki, procedury, bazy danych do SQL lub CSV
- Drukuj schemat bazy danych połączony kluczami obcymi
- Pokaż procesy i zabij je
- Wyświetlaj użytkowników i prawa oraz zmieniaj je
- Wyświetlaj zmienne z linkami do dokumentacji
- Zarządzaj zdarzeniami i partycjami tabeli
- PostgreSQL
- Schematy, sekwencje, typy użytkowników
- Rozbudowane opcje dostosowywania
Instalacja
Działa na serwerze WWW, więc najpierw musisz zainstalować pakiety Apache2, php, php-pdo i php-pgsql.
$ sudo apt install apache2 php php-pdo php-pgsql
Musimy pobrać plik PHP ze strony Administratora:
$ wget https://github.com/vrana/adminer/releases/download/v4.7.1/adminer-4.7.1.php
I musimy przenieść plik PHP do naszego katalogu głównego dokumentu Apache:
$ sudo mv adminer-4.7.1.php /var/www/html/adminer.php
Następnie, jeśli instalujesz go na swoim komputerze lokalnym, musisz otworzyć adres URL http://localhost/adminer.php w przeglądarce internetowej.
Konfiguracja
Aby rozpocząć korzystanie z narzędzia, musisz zalogować się do swojej bazy danych.

Po zalogowaniu zobaczysz następującą stronę internetową.

Instalacja jest naprawdę łatwa, ponieważ wystarczy umieścić plik PHP w głównym katalogu dokumentów na serwerze WWW, ale interfejs wygląda trochę staroświecko.
Jest to aplikacja internetowa, więc możesz uzyskać do niej dostęp z dowolnego miejsca tylko za pomocą przeglądarki internetowej.
SQL Workbench/J
SQL Workbench/J to bezpłatne, niezależne od DBMS, wieloplatformowe narzędzie do zapytań SQL.
Jest napisany w Javie i powinien działać w dowolnym systemie operacyjnym, który zapewnia środowisko Java Runtime Environment.
Jego głównym celem jest uruchamianie skryptów SQL i funkcji eksportu/importu. Graficzne tworzenie zapytań lub bardziej zaawansowane zadania DBA nie są w centrum uwagi i nie są planowane.
Funkcje
- Edytuj, wstawiaj i usuwaj dane bezpośrednio w wyniku zapytania
- Potężne polecenie eksportu do pisania plików tekstowych, XML, HTML lub SQL.
- Wszystkie tabele użytkowników można wyeksportować do katalogu za pomocą jednego polecenia. Pliki eksportu mogą być kompresowane „w locie”.
- Potężny import tekstu, XML i arkuszy kalkulacyjnych. Zestaw plików można zaimportować z katalogu za pomocą jednego polecenia. Wykrywane są ograniczenia klucza obcego, aby wstawić dane we właściwej kolejności
- Porównaj dwa schematy bazy danych pod kątem różnic. Dane wyjściowe XML można przekształcić w odpowiednie instrukcje SQL ALTER za pomocą XSLT
- Porównaj dane z dwóch baz danych i wygeneruj niezbędne instrukcje SQL do migracji jednej do drugiej.
- Obsługuje uruchamianie skryptów SQL w trybie wsadowym
- Obsługuje działanie w trybie konsoli
- Wyszukuj tekst w procedurze, widoku i innych źródłach za pomocą polecenia SQL lub GUI
- Wyszukuj dane we wszystkich kolumnach we wszystkich tabelach za pomocą polecenia SQL lub GUI
- Ponowne formatowanie instrukcji SQL
- Wybierz wiersze z powiązanych tabel zgodnie z ich definicjami kluczy obcych
- Podpowiedzi dla instrukcji INSERT, aby pokazać odpowiednią wartość lub kolumnę
- Kopiuj dane bezpośrednio między serwerami baz danych za pomocą polecenia SQL lub GUI
- Makra dla często używanych instrukcji SQL
- Podstawianie zmiennych w instrukcjach SQL, w tym inteligentne podpowiadanie wartości
- Automatyczne uzupełnianie tabel i kolumn w instrukcjach SQL
- Wyświetl obiekty bazy danych i ich definicje
- Wyświetl źródło tabeli
- Wyświetl widok, procedurę i kod źródłowy wyzwalacza
- Wyświetl ograniczenia klucza obcego między tabelami
- Pełna obsługa danych BLOB w wynikach zapytań, instrukcjach SQL, eksporcie i imporcie.
Instalacja
Jest napisany w Javie, więc potrzebujesz tego oprogramowania, aby go uruchomić.
Najpierw musisz sprawdzić, czy masz zainstalowaną Javę w swoim systemie:
$ java --version
Następnie musisz pobrać pakiet SQL Workbench:
$ wget https://www.sql-workbench.eu/Workbench-Build124.zip
$ unzip -d sqlworkbench Workbench-Build124.zip
Aby go uruchomić, musisz uruchomić plik jar o nazwie sqlworkbench.jar za pomocą polecenia java z flagą jar:
$ java -jar sqlworkbench/sqlworkbench.jar
Konfiguracja
Aby połączyć się z bazą danych PostgreSQL, musisz pobrać sterownik JDBC:
$ wget https://jdbc.postgresql.org/download/postgresql-42.2.5.jar
$ mv postgresql-42.2.5.jar sqlworkbench/
I skonfiguruj sterownik w swoim SQL Workbench. W tym celu przejdź do Plik -> Zarządzaj sterownikami -> Wybierz PostgreSQL i wybierz sterownik.
Następnie przejdź do okna Plik -> Połącz i uzupełnij informacje o profilu połączenia.

Po zakończeniu połączenia możesz zarządzać swoją bazą danych za jego pomocą.

Instalacja jest łatwa, ale musisz pobrać sterownik i skonfigurować go ręcznie. Ponadto interfejs nie jest zbyt przyjazny.
Bobra
DBeaver jest darmowym i uniwersalnym narzędziem bazodanowym typu open source dla programistów i administratorów baz danych.
Obsługuje wszystkie popularne bazy danych:MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Derby itp.
Użyteczność jest głównym celem tego projektu, interfejs użytkownika programu jest starannie zaprojektowany i zaimplementowany. Opiera się na frameworku open source i umożliwia pisanie różnych rozszerzeń (wtyczek). Obsługuje dowolną bazę danych ze sterownikiem JDBC. Istnieją dwie wersje:Community Edition i Enterprise Edition.
Funkcje
- Menedżer połączeń
- Przeglądarka metadanych
- Edytor SQL
- Przeglądarka/edytor danych
- Wyszukiwanie danych/metadanych
- Porównanie struktury bazy danych
- Transfer danych (eksport/import)
- Diagramy ER
- Menedżer zapytań
- Projekty
- Dodatkowe widoki
- Kierownik kierowcy
- Obsługiwane relacyjne bazy danych
- Obsługiwane bazy danych NoSQL
- Obsługiwane systemy operacyjne
- PostgreSQL
- Plan wykonania wyjaśnij
- Źródło procedur składowanych
- Wyświetlenia DDL
- Sekwencje
Instalacja
Najpierw musisz pobrać pakiet i zainstalować go:
$ wget https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb
$ dpkg -i dbeaver-ce_latest_amd64.deb
Następnie uruchom następujące polecenie, aby otworzyć aplikację:
$ dbeaver
Konfiguracja
Kiedy uruchamiasz aplikację po raz pierwszy, musisz skonfigurować połączenie z bazą danych.

Musisz więc wybrać PostgreSQL i uzupełnić informacje.

Następnie, wybierając opcję Testuj połączenie, musisz pobrać pliki sterownika. Po zakończeniu testów powinien pojawić się następujący komunikat.

Po zakończeniu konfiguracji możesz zarządzać bazą danych za pomocą aplikacji DBeaver.

Instalacja to w zasadzie bułka z masłem, a interfejs wygląda przyjaźnie i intuicyjnie.
Navicat
Navicat dla PostgreSQL to łatwe w użyciu narzędzie graficzne do tworzenia baz danych PostgreSQL.
To narzędzie będzie pasować do wszystkich, od początkujących po seniorów, i będzie pasować do wszystkich zadań, od prostych zapytań po programowanie. Połącz się z lokalnymi / zdalnymi serwerami PostgreSQL i kompatybilne z bazami danych w chmurze, takimi jak Amazon Redshift, Amazon Aurora, Amazon RDS, Google Cloud, Microsoft Azure, Alibaba Cloud, Tencent Cloud i Huawei Cloud oraz wszystkimi obiektami baz danych PostgreSQL. Jest to płatna aplikacja, ale możesz użyć wersji próbnej, aby ją przetestować.
Funkcje
- Obsługuje między innymi PostgreSQL 7.3 lub nowszy oraz usługi w chmurze, takie jak AWS, Google Cloud lub Microsoft Azure.
- Bezpieczne połączenie:SSH/HTTP/SSL
- Chmura Navicat
- Przeglądarka i edytor danych
- Przetwarzanie SQL
- Modelowanie danych
- Importuj/eksportuj
- Manipulacja danymi
- Kopia zapasowa/przywracanie
- Automatyzacja
- Zarządzaj użytkownikiem
- Monitor serwera
Instalacja
Najpierw musimy pobrać pakiet Navicat i rozpakować go.
$ wget http://download3.navicat.com/download/navicat121_pgsql_en_x64.tar.gz
$ tar zxvf navicat121_pgsql_en_x64.tar.gz
Następnie musimy uruchomić skrypt start_navicat, aby go uruchomić.
$ cd navicat121_pgsql_en_x64
$ ./start_navicat
Spowoduje to użycie Wine do uruchomienia aplikacji Navicat i może poprosić Cię o zainstalowanie wymaganej zależności podczas inicjalizacji.
Konfiguracja
Po uzyskaniu dostępu do aplikacji musisz utworzyć nowe połączenie.

Przejdź do Połączenie -> PostgreSQL i uzupełnij informacje.

Następnie możesz zacząć używać aplikacji do zarządzania bazą danych.

Oprogramowanie działa na Wine w systemie Linux, a okres próbny trwa 14 dni. Interfejs wygląda ładnie i przyjaźnie.
Wniosek
W tym blogu dokonaliśmy przeglądu niektórych z najpopularniejszych narzędzi GUI dla PostgreSQL.
Niezależnie od tego, że korzystanie z narzędzia GUI nie jest obowiązkowe, może pomóc w złagodzeniu niektórych codziennych zadań DBA, zapewniając bardziej przyjazny sposób zarządzania rzeczami.
Te narzędzia nie zastępują wiersza poleceń (jako administrator danych musisz je opanować), ale są niezwykle pomocne i naprawdę na nich skorzystasz.