Программы для работы с postgresql linux
- -h флаг указания хоста;
- -U флаг указания пользователя;
- -p флаг указания порта (по умолчанию он равен 5432).
Для входа в терминал можно использовать следующую строку, которая запросит пароль
Если вы в терминале, где уже установлена рабочая версия PostgreSQL, то вы можете войти под пользователя posgres, который по умолчанию является суперадминистратором СУБД PostgreSQL
Еще один способ входа, но уже без пароля
Как только вы подключитесь, вы можете начать уже делать запросы. В дополнение к основным запросам вы также можете использовать определенные команды. Команда \? предоставит вам список всех доступных команд.
Все по порядку про CRUD
Одна из хорошей вещей в PGSQL заключается в том, что он поставляется с некоторыми двоичными файлами, такими как createuser и createdb. Поэтому мы будем использовать их.
По умолчанию в Postgres сконфигурирован с единственным пользователем postgres, у которого есть все права на манипуляции в СУБД и является суперадминистратором.
Вышеупомянутая команда получает интерфейс командной строки psql в режиме полного администрирования.
Работа с пользователями
Создание пользователя посредством бинарника createuser
Задание пароля для пользователя
Создание пользователя посредством терминала psql
Работа с базой данных
Создание базы данных посредством бинарника createdb
Задание привилегий для пользователя на действия с базой данных
Создание базы данных посредством терминала psql
Установка прав пользователям
Установка пользователю роль администратора
Чтобы дать все права пользователю на операции с базой данных можно воспользоваться командой psql
Тоже самое по другому
Разрешение на соединение
Можно комбинировать несколько привилегий
Если мы хотим дать привилегии на действия всем пользователям, то пишем так
Если мы хотим дать привилегии на таблицы, то делаем так
Примечание. Ключевое слово SCHEMA означает тоже самое, что и имя базы данных.
Разрешение входа для пользователя postgres через phpPgAdmin
PostgresSQL по умолчанию имеет суперпользователя с логином postgres и вход через этот логин из вне запрещен. Поэтому, чтобы управлять базами через phpPgAdmin нам нужно войти, разрешив внешний вход. Делается через файл конфигурации phpPgAdmin, который называется config.inc.php.
В составе Vesta, данный файл конфигурации в Ubuntu находится по пути /etc/phppgadmin/config.inc.php.
Далее, если вы не знаете пароль супер администратора postgres, то есть возможность ее сменить через терминал
После данной команды сервер запросит ввести пароль и подтвердить еще одним вводом и дальше установится новый пароль, которым мы сможем войти через phpPgAdmin
PostgreSQL – это передовая открытая система управления объектно-реляционными базами данных. В основном она используется на предприятиях и поддерживает запросы SQL и JSON.
По данным Stack Overflow, PostgreSQL является второй наиболее используемой СУБД после MySQL в 2021 году. Более 40% из 70 000+ опрошенных предпочитают Postgres базам данных SQLite, MongoDB, Redis и другим.У пользователя, есть два способа администрирования СУБД:
- писать запросы через CLI (не всем это нравится);
- использовать графический пользовательский интерфейс (GUI) Postgres.
Второй вариант намного удобнее, т. к. он позволяет повысить производительность. Давайте рассмотрим наиболее используемые инструменты GUI .
Что такое GUI PostgreSQL?
Графический интерфейс PostgreSQL – это инструмент управления базами данных PostgreSQL. Он позволяет любому пользователю запрашивать и визуализировать данные, а также манипулировать данными и анализировать их. Вы можете получать доступ к серверам баз данных и перемещаться по ним с помощью графического интерфейса.
Основные причины, по которым пользователи предпочитают графический интерфейс:
- длинная кривая обучения работе с CLI и сложная адаптация;
- не очень приятный в использовании интерфейс командной строки;
- недостаток информации, которую консоль предоставляет за один раз;
- трудности при просмотре и мониторинге базы данных с помощью консоли.
Использование GUI дает следующие преимущества:
- ярлыки, которые можно использовать для быстрого доступа к данным;
- широкие возможности визуализации данных;
- удаленный доступ к серверу;
- легкий доступ к операционной системе.
Лучшее программное обеспечение с графическим интерфейсом
Вероятно для кого-то будет неожиданностью, что ориентированное на Postgres приложение pgAdmin не является единственным доступным инструментом.Прежде всего есть низкоуровневый конструктор внутренних инструментов UI Bakery . Изначально он не был создан для управления Postgres, однако с его помощью вы можете подключить несколько источников данных (базы данных, сторонние приложения, REST API) в одном UI . Bakery обладает широкими возможностями визуализации данных для отображения PostgreSQL, MongoDB, MySQL, Microsoft SQL, Redis и т.д.
Поскольку UI Bakery ориентирован на веб, не нужно тратить время на его установку и настройку. Вы можете создать графический интерфейс для своей базы, используя ряд готовых компонентов: таблицы, диаграммы, графики, карты, кнопки, выпадающие списки и т.д. Этот процесс занимает минуты или часы вместо недель ручного кодинга.Подход с низкоуровневым кодом к управлению базами данных гораздо более экономичен и гибок, чем использование традиционных графических инструментов. Тем не менее, давайте рассмотрим и другие продукты.
1. pgAdmin
pgAdmin – кроссплатформенный графический инструмент с открытым исходным кодом.
- совместим с Linux, Windows, macOS;
- позволяет работать с несколькими серверами одновременно;
- экспорт в CSV;
- планирование запросов;
- возможность отслеживать ваши сеансы, блокировки БД с помощью панели мониторинга;
- ярлыки в редакторе SQL для более удобной работы;
- встроенный отладчик процедурного языка;
- тщательная документация и активное сообщество.
- медленный и не всегда интуитивно понятный пользовательский интерфейс по сравнению с платными конкурентами;
- тяжелый;
- высокий порог вхождения;
- для работы с несколькими базами данных одновременно потребуются продвинутые навыки.
2. DBeaver
DBeaver – инструмент управления PostgreSQL с открытым исходным кодом, поддерживающий коннект к нескольким базам данных.
- кроссплатформенность;
- поддержка более 80 баз данных;
- визуальный конструктор, позволяющий добавлять запросы без навыков работы с SQL;
- несколько представлений данных;
- импорт/экспорт данных в CSV, HTML, XML, JSON, XLS, XLSX;
- повышенная безопасность данных;
- полнотекстовый поиск данных и возможность отображения результатов в виде таблиц/представлений;
- доступен бесплатный тарифный план.
- низкая производительность по сравнению с конкурентами;
- слишком частые обновления, что раздражает;
- после некоторого времени бездействия DBeaver отключается от базы данных.
3. Navicat
Интуитивно понятный (с недавнего времени проприетарный) GUI для Postgres.
- простая и быстрая установка;
- поддержка Windows, Linux, iOS;
- удобный визуальный конструктор SQL;
- автодополнение кода;
- инструмент моделирования данных: управление объектами базы данных, схемами проектирования;
- планировщик заданий: запускайте задания, получайте уведомления о завершении задания;
- синхронизация источников данных;
- импорт/экспорт данных в Excel, Access, CSV и другие форматы;
- защита данных с помощью SSH и SSL;
- использование облачных сервисов Amazon, Google и др.
- низкая производительность GUI;
- высокая цена по сравнению с конкурентами;
- одна лицензия ограничена одной платформой (вам понадобятся 2 отдельные лицензии для PostgreSQL и MySQL);
- множество дополнительных возможностей, требующих времени для изучения.
4. DataGrip
Продвинутая IDE для работы с несколькими базами данных, созданная в JetBrains .
- кроссплатформенность (поддержка Windows, macOS, Linux);
- простая навигация по схеме;
- настраиваемый UI с консолью для обеспечения безопасности выполняемой работы;
- быстрое обнаружение ошибок;
- встроенная система контроля версий;
- поддержка MySQL, SQLite, MariaDB, Cassandra и других;
- отчеты с возможностью их интеграции с диаграммами и графиками;
- автодополнение кода.
- высокая цена;
- высокое потребление оперативной памяти;
- сложный процесс отладки ошибок;
- длинная кривая обучения;
- не предназначен для использования в качестве облачного веб-приложения;
- не подходит для одновременного управления несколькими базами данных.
5. HeidiSQL
Инструмент с GUI и открытым исходным кодом для Postgres (и не только). Пока поддерживается только Windows .
- простая установка, легковесная по сравнению с конкурентами;
- поддержка PostgreSQL, MySQL, Microsoft SQL Server, MariaDB;
- возможность подключения и управления несколькими серверами баз данных в одном окне;
- прямой экспорт SQL из одной базы данных в другую;
- массовый просмотр и редактирование таблиц;
- автодополнение кода и подсветка синтаксиса;
- сообщество с активной поддержкой и регулярные обновы;
- экспорт таблиц и данных в Excel, HTML, JSON, PHP;
- зашифрованное соединение.
- не кроссплатформенное приложение;
- частые проблемы со стабильностью;
- нет отладчика процедурного языка.
6. TablePlus
Программное обеспечение с графическим интерфейсом для управления базами данных SQL и NoSQL. С закрытым исходным кодом.
- высокая производительность;
- настраиваемый UI;
- подсветка синтаксиса;
- высокий уровень безопасности данных обеспечивается за счет сквозного шифрования в соединении.
- часто возникают проблемы с UX при работе с другими базами данных, кроме PostgreSQL;
- недешево, а пробная версия предлагает ограниченную функциональность;
- поддержка клиентов оставляет желать лучшего.
7. OmniDB
Простой открытый инструмент с GUI для PostgreSQL.
- кроссплатформенность (поддержка Windows, Linux, macOS);
- поддержка PostgreSQL, Oracle, MySQL, MariaDB;
- очень отзывчивый и легкий по сравнению с некоторыми альтернативами;
- автозаполнение SQL;
- подсветка синтаксиса;
- возможность создания настраиваемых диаграммы для отображения релевантных метрик БД;
- встроенная отладка.
- не самый лучший вариант, если вы работаете с несколькими базами одновременно;
- отсутствие поддержки и документации.
Заключение: UI Bakery – неочевидный, но мощный вариант
Когда вы выбираете программное обеспечение с GUI , основывайте окончательное решение на нескольких аспектах:
- размер команды;
- используемые ОС;
- тип СУБД;
- количество баз данных, с которыми вы планируете работать.
DBeaver, DataGr i p и HeidiSQL больше подходят для одного человека, работающего с одной базой. Navicat – выбор для команды благодаря возможности совместной работы. Почти все упомянутые инструменты являются кроссплатформенными за исключением HeidiSQL, который поддерживает только Windows.
Низкоуровневая UI Bakery отлично подходит, если вам нужно объединить несколько различных источников данных – будь то базы данных, сторонние инструменты или API.Похоже, что pgAdmin и другое классическое ПО теряет популярность. Низкоуровневый подход к управлению базами данных позволяет получать гораздо лучшие результаты за меньшее время.
Когда мы говорим о работе с базами данных в любой операционной системе, всегда обсуждаются системы управления базами данных (СУБД). PostgreSQL также является СУБД, которая попадает в категорию систем управления реляционными базами данных, т. Е. Занимается управлением и работой реляционных баз данных. Эта реляционная СУБД позволяет гибко создавать базы данных, управлять ими и устанавливать их в любой известной операционной системе, например Linux, macOS и Windows. Именно поэтому эта СУБД получила большую известность среди многих программистов.
Эта реляционная СУБД является бесплатной и имеет открытый исходный код, что способствует ее широкому использованию в различных отраслях промышленности. Более того, эта СУБД имеет дело с типом транзакций — ACID, т. Е. Она может эффективно выполнять транзакции со свойствами ACID (атомарность, согласованность, изоляция и надежность). Это означает, что если у вас есть данные с этими свойствами и вы хотите создать для них реляционную базу данных, вам обязательно следует рассмотреть возможность использования сервера PostgreSQL.
С момента запуска этой реляционной СУБД в 1996 году она претерпела несколько обновлений, поэтому ее функциональность сравнима с любой из последних систем управления реляционными базами данных. Более того, эта СУБД также обеспечивает усовершенствования функций традиционных систем управления базами данных и полное соответствие с SQL. Эта реляционная СУБД поддерживает широкий спектр собственных типов данных и некоторые типы данных, определяемые пользователем. В дополнение к этому, он также обрабатывает различные версии ваших баз данных, сохраняя при этом их параллелизм чрезвычайно изящным образом.
Концепция наследования также хорошо работает с таблицами, созданными в базах данных этой СУБД. Это означает, что вы можете очень удобно позволить таблице наследовать свойства своей родительской таблицы при использовании сервера PostgreSQL. Помимо этого, эта СУБД также позволяет создавать резервные копии ваших данных в Интернете, предотвращая любые потери данных. Кроме того, он также поддерживает восстановление на определенный момент времени для облегчения доступа к восстановленным данным. К настоящему времени мы достаточно обсудили соответствующие функции сервера PostgreSQL. Теперь самое время поговорить о самом фокусе этой статьи.
Цель этой статьи — научить вас процедуре установки сервера PostgreSQL в дистрибутиве Linux, то есть Ubuntu 20.04. Вы также можете использовать любой другой вариант Linux по вашему выбору, если хотите. Однако описанный ниже метод будет отлично работать с системой Ubuntu 20.04.
Методика начала работы с PostgreSQL в Ubuntu 20.04
Чтобы начать работу с PostgreSQL в системе Ubuntu 20.04, вам необходимо выполнить следующие шаги в указанном порядке:
Шаг № 1: Подготовьте вашу систему к установке PostgreSQL
Перед установкой чего-либо в любом дистрибутиве Linux настоятельно рекомендуется обновить систему. Этой цели можно достичь с помощью следующей команды:
Шаг № 2: Запустите команду установки для PostgreSQL
После того, как вышеупомянутая команда завершит свое выполнение, следующим шагом будет выполнение следующей команды в вашем терминале Ubuntu 20.04:
Эта команда установит PostgreSQL в нашу систему Ubuntu 20.04, что является для нас обязательным, т.е. мы не сможем запустить его, если он не установлен в нашей системе Ubuntu 20.04.
Шаг № 3: проверьте активный статус PostgreSQL
Нам также необходимо убедиться, что сервер PostgreSQL активен в нашей системе. Для этого мы можем проверить его статус с помощью следующей команды:
Результат, представленный на изображении ниже, подтверждает, что PostgreSQL активен в нашей системе. Однако здесь следует отметить, что этот сервер сейчас не работает. Он запустится только после того, как мы запустим этот сервер. Именно поэтому статус оказался «активен (вышел)», а не «активен (работает)».
Шаг № 4: Запустите PostgreSQL, получив доступ к его серверу
После проверки состояния сервера PostgreSQL в нашей системе Ubuntu 20.04 мы получим доступ к этому серверу, чтобы он мог начать работу, с помощью следующей команды:
Ваш сервер PostgreSQL немедленно начнет работать в вашей системе Ubuntu 20.04, как только эта команда будет выполнена. Вы можете убедиться в этом, взглянув на измененный путь в терминале вашей системы.
Шаг № 5: Войдите в консоль PostgreSQL
Наконец, чтобы поиграть с базами данных, нам нужно войти в консоль PostgreSQL, что можно сделать с помощью команды, показанной ниже:
Вы можете увидеть консоль PostgreSQL на следующем изображении:
После входа в эту консоль вы можете мгновенно начать работу с базами данных, выполняя различные запросы по вашему выбору в этой консоли.
Дополнительный совет
В качестве дополнительного совета мы хотели бы научить вас, как вернуться к обычному терминалу в Ubuntu 20.04. Для этого вам сначала нужно выйти из консоли PostgreSQL, после чего вам придется выйти из сервера PostgreSQL. Это можно сделать, следуя двум приведенным ниже советам:
Совет № 1: как выйти из консоли PostgreSQL?
Для выхода из консоли сервера PostgreSQL вам необходимо ввести «\ q» в этой консоли и нажать клавишу Enter, как показано на следующем изображении:
Как только вы это сделаете, вы выйдете из консоли сервера PostgreSQL.
Совет № 2: Как выйти из сервера PostgreSQL?
Теперь для выхода из сервера PostgreSQL вам необходимо выполнить команду, показанную ниже:
Когда вы запустите эту команду, вы успешно выйдете из сервера PostgreSQL.
Заключение
Из этого руководства вы легко поймете, насколько просто запустить PostgreSQL в системе Linux. Мы использовали систему Ubuntu 20.04 для объяснения этого метода. Главное, что вам нужно, — это установленный в вашей системе сервер PostgreSQL. Если вы установили его в своей системе и он находится в активном состоянии, то запуск этого сервера в вашей системе займет всего несколько секунд. Кроме того, в качестве дополнительного совета мы также научили вас, как выйти из консоли сервера PostgreSQL и как выйти из этого сервера.
Для подключения к базе данных PostgreSQL понадобится установленный PostgreSQL клиент:
Для установки PostgreSQL сервера:
Проверим, можем ли мы подключиться к базе данных PostgreSQL:
Вывод команды должен быть примерно таким:
PostgreSQL Подключение, Пользователи (Роли) и Базы Данных
Логин в только что установленный postgreSQL сервер нужно производить под именем пользователя postgres:
Для подключения к базе данных PostgreSQL можно использовать команду:
Если такая команда не просит ввести пароль пользователя, то можно еще добавить опцию -W.
После ввода пароля и успешного подключения к базе данных PostgreSQL, можно посылать SQL-запросы и psql-команды.
PostgreSQL создание новой роли и базы данных
Создать новую роль c именем admin (указывайте нужное имя):
Создание новой базы данных:
Дать права роли на базу данных:
Включить удаленный PostgreSQL доступ для пользователей
Нам нужно отредактировать файл /etc/postgresql/<VERSION>/main/pg_hba.conf, задав опцию md5 вместо peer.
<VERSION> может быть 10, 11, 12 и т.д.
После этого сделать restart PostgreSQL:
Полезные команды PostgreSQL
Выйти из клиента PostgreSQL:
\q
Показать список баз данных PostgreSQL:
\l
Показать список таблиц:
\dt
Показать список пользователей (ролей):
\du
Показать структуру таблицы:
Переименовать базу данных:
Удалить базу данных:
Изменить текущую базу данных в PostgreSQL (вы не сможете переименовать или удалить текущую базу данных):
\connect db_name или более короткий alias: \c db_name
Удалить роль (пользователя):
Роль не будет удалена, если у нее есть привелегии - возникнет ошибка ERROR: role cannot be dropped because some objects depend on it .
Нужно удалить привелегии у роли, например если нужно удалить роль admin2, нужно выполнить последовательность комманд с Drop Owned:
Дать права пользователю/роли на логин ( role is not permitted to log in ):
Выбор shema psql в консоли:
Посмотреть список всех схем:
Подключиться к конкретной схеме:
Sequences
Получить имена всех созданных sequences:
Получить последнее значение sequence, которые будет присвоено новой вставляемой в таблицу записи:
Читайте также: