EMS SQL Manager for PostgreSQL - это мощнейший графический инструмент для разработки и администрирования баз данных PostgreSQL. Он позволит легко и быстро создавать и редактировать объекты баз данных PostgreSQL, выполнять сценарии SQL, управлять пользователями и их привилегиями, визуально строить SQL запросы, просматривать статистику базы данных, извлекать и распечатывать метаданные, экспортировать/импортировать данные, просматривать и редактировать BLOB-поля, и многое другое.
Эти версии отличаются своей функциональностью. Поскольку SQL Manager Freeware – это бесплатное приложение, оно имеет ряд функциональных ограничений, например, максимальное количество зарегистрированных баз данных не может превышать 5, а также некоторые другие. Подробный список отличий вы можете найти на нашем сайте в Таблице характеристик программы.
- экспорт/импорт данных из/в нескольких таблиц сразу;
- экспорт/импорт данных из/в таблиц, выбранных из различных баз данных на одном хосте;
- консольная утилита для экспорта/импорта с использованием файла конфигурации, содержащего все настройки.
- "избранные/favorite" запросы для поиска и быстрого запуска наиболее часто исполняемых запросов;
- хранение истории запросов, позволяющей совершить "откат" к любому отредактированному запросу;
- различные улучшения интерфейса программы для более продуктивной и удобной работы.
DB Extract for PostgreSQL включает в себя некоторые дополнительные функции, которые недоступны в SQL Manager for PostgreSQL, например:
- извлечение метаданных из различных баз данных, расположенных на одном сервере;
- консольное приложение для упрощения процесса извлечения;
- большая скорость работы.
SSH (Secure Shell Host) протокол используется для повышения компьютерной безопасности при работе с Unix-системами в Internet. SSH использует несколько алгоритмов шифрования разной степени надежности. Распространенность SSH связана еще и с тем, что многие Linux-подобные ОС (например, FreeBSD) включают в стандартную комплектацию SSH сервер. Для получения дополнительной информации вы можете посетить https://www.openssh.com. Опция SHH туннель в SQL Manager представляет собой средство организации безопасного доступа к PostgreSQL серверам при работе по небезопасным каналам связи. Также вы можете использовать SSH туннель для доступа к удаленным PostgreSQL серверам, если по каким-либо причинам порт 5432 закрыт для внешних подключений. Соединение через SSH туннель выглядит следующим образом. Сначала устанавливается соединение и производится процедура аутентификации между встроенным в SQL Manager SSH клиентом и удаленным SSH сервером, затем вся исходящая и входящая информация между программой и PostgreSQL сервером передается через SSH сервер с использованием коммуникационного порта (обычно 22), а SSH сервер транслирует информацию уже непосредственно PostgreSQL серверу. Чтобы зарегистрировать базу данных, соединение с которой должно выполняться с использованием SSH туннеля, вы должны задать следующие параметры при регистрации базы данных в SQL Manager for PostgreSQL.
На первом шаге:
- Хост - имя хоста, где расположен сервер PostgreSQL с точки зрения сервера SSH. Если SSH и PostgreSQL сервера установлены на одной машине, то он совпадает с хостом SSH, или он может быть 'localhost'.
- Порт - порт сервера PostgreSQL, его значение по умолчанию 5432.
- Пользователь - имя пользователя сервера PostgreSQL.
- Пароль - пароль пользователя PostgreSQL.
Имейте в виду, что имя хоста PostgreSQL должно быть задано относительно сервера SSH. Например, если PostgreSQL и SSH сервера установлены на одном компьютере, Вы должны указать localhost в качестве имени хоста вместо имени внешнего хоста или IP адреса. Далее выберите опцию Использовать туннелирование и SSH туннель.
На втором шаге:
- SSH хост - хост, где активирован сервер SSH.
- SSH порт - порт, где активирован сервер SSH.
- SSH пользователь - пользователь Linux машины. (Это пользователь Linux'a. Это не пользователь сервера PostgreSQL.)
- SSH пароль - пароль пользователя Linux'a.
Нужно ввести следующее:
На закладке "Туннелирование SSH":
- SSH хост - это хост, на котором активирован сервер SSH.
- SSH порт - порт, на котором запушен сервер SSH.
- SSH пользователь - это имя пользователя на сервере. (Пользователь сервера Linux. Это не имя пользователя сервера PostgreSQL).
- SSH пароль - пароль пользователя сервера Linux.
На закладке "Соединение":
- Хост - это хост, на котором расположен сервер PostgreSQL с точки зрения сервера SSH. Если сервер SSH расположен на том же компьютере, что и сервер PostgreSQL, то он приравнивается к Хосту SSH, или же к 'localhost'.
- Порт - это порт сервера PostgreSQL на Удаленном Хосте, по умолчанию его значение 5432.
- Пользователь - имя пользователя на сервере PostgreSQL.
- Пароль - это пароль пользователя на сервере PostgreSQL.
На первом шаге:
- Хост - это хост, где расположен PostgreSQL сервер с точки зрения HTTP сервера. Обычно HTTP и PostgreSQL сервер расположены на одной машине и являются 'localhost'.
- Порт - это порт PostgreSQL сервера на удаленном узле, по умолчанию он 5432.
- Пользователь - это имя пользователя на PostgreSQL сервере.
- Пароль - это пароль пользователя на PostgreSQL сервере.
Далее выберите опцию "Использовать туннелирование" и "SSH туннель".
На втором шаге:
- URL - это адрес, где находится скрипт emsproxy.php (например, https://mywebserver/emsproxy.php).
Чтобы получить источник данных в отчете, Вам нужно добавить диалоговую форму в отчет (меню 'Редактировать/Edit' 'Добавить форму диалога/Add dialog form' Конструктора Отчетов), затем поместить в нее базу данных и компоненты запроса из левой панели конструктора и установить связь и параметры запроса. После этого, запрос должен появиться в списках источников данных.
В целях повышения скорости работы и удобства Сетка Данных позволяет производить гибкую настройку многих параметров отображения данных. Ниже приведены наиболее важные из них (пункт меню "Настройки | Настройки окружения"). На закладке Сетка:
- Ограничения в редакторах. При включении опции "Выбирать все записи из таблицы" вы будете иметь возможность видеть все записи таблицы без дополнительных запросов к серверу, однако для больших таблиц или при низкоскоростном канале связи возможны значительные задержки при получении данных, также входящий трафик может быть большим. Режим рекомендуется при работе с базами данных, расположенными локально либо в частной сети. Режим "Выбирать только" ограничивает максимальное число записей, возвращаемых в результате запроса. Режим обусловлен тем, что человек не способен осмысленно просмотреть огромный объем информации за один раз. Для запроса и отображения следующей порции данных служит кнопка "Далее" в панели инструментов "Сетка Данных". Данный режим значительно ускоряет просмотр данных таблицы, предотвращает зависание и разрыв соединения при таймауте. Рекомендуется для работы с большими таблицами, при низкоскоростных каналах связи и когда объем трафика имеет значение. Данный режим включен по умолчанию. При данном режиме очень полезны опции "Использовать сортировку SQL" и "Использовать фильтр SQL".
На странице "Сетка | Настройки данных":
- Режим сетки по умолчанию. Данная опция определяет, будут ли все строки запроса загружаться в Сетку сразу ("Загружать все строки"), либо по мере необходимости ("Загружать видимые строки"), т.е. когда пользователь пролистывает данные в таблице. Первый режим увеличивает время открытия результата запроса, но уменьшает задержки при пролистывании. При втором режиме время открытия результата запроса минимально, но возникают задержки при навигации по сетке.
- Использовать сортировку SQL при просмотре данных. При включенной опции при задании пользователем сортировки данных на сервер отправляется новый запрос, результат которого заново отображается в сетке. Опция очень полезна при включенном режиме - "Выбирать только", но она увеличивает трафик. При отключенной опции сортировка выполняется на клиенте без участия сервера, но только в уже загруженных данных. Т.е. если указано "Выбирать только 1000 записей", то отсортируются только эти записи.
- Использовать фильтр SQL при просмотре данных. При включенной опции фильтрация данных будет производиться на сервере, куда отправляется новый запрос, результат которого заново отображается в сетке. Также очень полезная опция при включенном режиме - "Выбирать только", но она увеличивает трафик. При отключенной опции фильтрация выполняется на клиенте без участия сервера, но только в уже загруженных данных. Т.е. если указано "Выбирать только 1000 записей", то фильтр будет выбирать только из этих записей.
Для максимальной производительности при работе с большими таблицами мы рекомендуем установить следующие значения для опций:
- Выбирать только - Включено
- Загружать все строки - Включено
- Использовать сортировку SQL - Включено
- Использовать фильтр SQL - Включено
Вам необходимо включить опцию "Загрузить все записи". Щелкните правой кнопкой мыши на таблице и выберите опцию "Режим сетки/Загрузить все записи".
Диалог "Регистрационная информация базы данных" содержит закладку "Журналы", в которой Вы можете разрешить протоколирование всех изменений метаданных в базе данных, а также протоколирование выражений SQL, выполняемых в Редакторе SQL.
Поля типов TEXT, BYTEA, OID, а также VARCHAR больших размеров или без определенного размера по умолчанию не экспортируются. Необходимо вручную выбрать поля для экспорта в закладке "Поля".
- Щелкните правой клавишей мыши на необходимой базе данных в Проводнике БД и левой клавишей на "Регистрационная информация базы данных" во всплывающем меню (этот пункт Вы можете найти также в основном меню "База данных"). Откроется форма с параметрами базы данных.
- Щелкните левой клавишей на закладке "Каталоги".
- В секции "Каталог для экспорта данных" Вы можете выбрать директорию для экспорта файла.
Вам нужно увеличить значения задержек в закладке "Инструменты | Таймауты" диалога "Настройки окружения", или установить их равными нулю, то есть неограниченными.
Пожалуйста, убедитесь, что файл libpq.dll находится в директории SQL Manager for PostgreSQL. Переустановка приложения может решить эту проблему.
Да, это возможно. Главное - это то, что сам SQL Manager работает исключительно под управлением MS WINDOWS. Однако, под какой ОС работает PostgreSQL сервер, не имеет никакого значения.
Если из-за политики безопасности, принятой у вас в корпоративной сети или хостинг провайдером, вы не можете соединиться с вашим PostgreSQL сервером напрямую через TCP/IP (например, этому мешает файервол), то для этой цели вы можете использовать опцию SSH или HTTP туннель в SQL Manager.
2. Если вы соединяетесь с удаленным сервером, то на удаленном сервере должны быть разрешены TCP/IP соединения. Для этого необходимо отредактировать файл postgresql.conf на сервере: в список listen_addresses надо добавить имя или TCP/IP адрес клиентского компьютера. Либо можно указать в этом параметре звездочку - тогда будет разрешен коннект с любого хоста. То же самое можно сделать, запустив сервер с опцией -i, что эквивалентно listen_addresses = '*'.
3. Убедитесь, что вы вводите корректный логин/пароль.
4. Вы используете аутентификацию по паролю, но она не поддерживается в SQL Manager'e.
SQL Manager хранит все свои настройки в реестре Windows. Это означает, что единственный способ перенести их – получить доступ к реестру Windows. Сделать это можно, загрузив ОС со старого HDD (если это возможно) либо открыв файл реестра специальной программой-редактором. Если это удалось, то можно выгрузить ветку ‘HKEY_CURRENT_USER\Software\EMS\PostgreSQL Manager’ в *.REG файл, перенести этот файл на новую систему и добавить информацию в реестр с помощью двойного щелчка мыши по файлу.