Что такое клиент базы данных
База данных содержит много информации, и хранить всё на локальном компьютере может быть неудобно. К тому же базой часто пользуются несколько человек, и лучше обезопасить данные от внезапных происшествий, например на случай, если кто-нибудь случайно всё удалит.
Решить эти проблемы можно с помощью специальной архитектуры, которая предполагает взаимодействие между базой данных, сервером и клиентом — системой, которая управляет сервером.
На такой архитектуре построено большинство сайтов. Чтобы объяснить работу этой архитектуры, приведём аналогию. Представьте радиоуправляемого робота, которого используют для исследований в неприемлемых для человека условиях, например в космосе. У такого робота будет всё необходимое для работы: измерительные приборы, механическая рука и фонарик. Все эти устройства (и даже фонарик) не смогут работать, если роботу не поступят внешние сигналы. Такие команды роботу передаёт человек с помощью системы управления, которая «переводит» желания человека на язык робота.
Если избегать сложных технических определений, то сервер можно назвать удалённым компьютером. В нём находится и СУБД, которая управляет данными.
Сервер похож на робота из примера: он очень функционален. Но чтобы выполнить функции, нужна команда от пользователя. В игру вступает клиент — система управления, которая переведёт запрос пользователя на язык сервера и передаст команды для выполнения.
У сервера есть ещё одно преимущество — он очень мощный и мультизадачный. Поэтому с сервером могут работать сразу несколько клиентов и одновременно иметь доступ к данным сразу несколько пользователей.
Клиенты создают разработчики СУБД, а ещё их можно найти у сторонних разработчиков. Такие клиенты часто имеют более удобный интерфейс и включают дополнительные функции.
psql
Утилита-клиент от разработчиков PostgreSQL. Утилита устанавливается вместе с сервером PostgreSQL и представляет из себя консольное приложение — такое, которое работает в консоли. Клиент psql отличается надёжностью, но у него есть недостаток — отсутствие графического интерфейса. В psql доступны только текстовые команды, и с некоторыми данными, например с большими таблицами, может быть неудобно работать.
pgAdmin
Графический клиент с открытым исходным кодом, предназначенный для работы с PostgreSQL.
Из плюсов можно выделить совместимость с разными операционными системами: Linux, Windows, macOS, — а также работу с несколькими серверами одновременно. Клиент pgAdmin позволяет экспортировать данные в файлы .csv, планировать запросы, отслеживать сеансы и блокировать базу данных с помощью панели мониторинга. В клиент входит встроенный отладчик языка, а ещё к клиенту прилагается подробная документация. Однако по сравнению с платными сервисами интерфейс клиента может показаться медленным и неинтуитивным, и для работы с несколькими базами данных могут потребоваться продвинутые навыки.
DBeaver
Клиент с открытым исходным кодом, который поддерживает работу с разными СУБД, включая PostgreSQL. DBeaver совместим с разными операционными системами, включает визуальный конструктор, который позволяет добавлять запросы без навыков работы с SQL. У клиента много дополнительных функций: импорт и экспорт данных в файлы .csv, .html, .json и не только, полнотекстовый поиск, возможность отображения результатов запросов в виде графиков. Клиент включает бесплатную и платную, расширенную, версии.
DBeaver — популярный клиент. Его хвалят за удобный структурированный интерфейс и большое количество функций в бесплатной версии. В следующих уроках вы будете работать именно с клиентом DBeaver: узнаете, как его устанавливать, и научитесь подключаться к базе.
phpPgAdmin
Веб-приложение с открытым кодом, предназначенное для работы с PostgreSQL.
Клиент phpPgAdmin позволяет с помощью браузера управлять сервером PostgreSQL, запускать команды и просматривать таблицы. Приложение пользуется большой популярностью у веб-разработчиков, потому что позволяет управлять сервером без SQL-команд.
Перед тем как скачивать и настраивать клиент, нужно установить на компьютере сервер PostgreSQL, или, как говорят разработчики, развернуть сервер локально. Как это сделать, вы узнаете в следующем уроке.