Графический клиент PgAccess
Программа PgAccess обеспечивает графический интерфейс для администрирования PostgreSQL. Она имеет много общего с управляющими программами таких СУБД для PC, как Microsoft Access.
Графический интерфейс позволяет просматривать и редактировать различные элементы баз данных PostgreSQL — таблицы, запросы и т. д. — в визуальном режиме. Это удобная альтернатива для интерфейса командной строки psql, который иногда бывает излишне утомительным и неудобным.
Программа PgAccess написана на сценарном языке Tcl/Tk, что упрощает ее адаптацию для других систем, поскольку программа устанавливается и работает во всех системах с поддержкой сценариев Tcl/Tk (включая Linux/Unix, Windows и MacOS). Приложение PgAccess работает на стороне клиента, причем наличие PostgreSQL на компьютере, на котором работает PgAccess, не обязательно.
Установка и базовая настройка
Подготовить PgAccess для работы с PostgreSQL относительно просто. Самое главное, чтобы в системе был установлен и правильно настроен пакет Tcl/Tk.
Поддержка Tel в PostgreSQL включается при помощи ключа -with-tcl на стадии компиляции. Ключ - -with-tcl производит автоматическую настройку библиотек Tel для PostgreSQL и устанавливает двоичный файл pgaccess.
ПРИМЕЧАНИЕ
Без поддержки Tcl/Tk в PostgreSQL программа PgAccess работать не будет. В поставках Linux, включающих PostgreSQL (таких, как Red Hat и Mandrake), двоичные файлы PostgreSQL откомпилированы с поддержкой Tel.
Если ключ --with-tcl не был установлен во время исходной компиляции, вы можете включить поддержку Tel в существующую конфигурацию PostgreSQL без повторной инициализации каталогов данных. Для этого следует переконфигурировать PostgreSQL с ключом -with-tcl и произвести повторную компиляцию.
После завершения переконфигурирования очистите каталог командой gmake clean и перекомпилируйте программу командой gmake. Завершите процесс postmaster и введите команду gmake i nstal 1. Команда устанавливает новые двоичные файлы и библиотеки в новой конфигурации PostgreSQL. После того как файлы установлены, остается лишь перезапустить PostgreSQL.
ВНИМАНИЕ
Повторная компиляция PostgreSQL после установки осуществляется только с использованием исходных текстов той версии, которая была установлена ранее. Использование другой версии может привести к потере данных. Перед внесением любых изменений в установку PostgreSQL, как обычно, рекомендуется создать резервную копию данных.
Операции с пользователями
PgAccess позволяет выполнять административные операции с учетными записями пользователей базы данных в графическом режиме. В PgAccess, как и в клиентах командной строки, при выполнении этих операций используются команды CREATE USER и ALTER USER, но PgAccess обеспечивает графический интерфейс к этим командам.
Щелчок на вкладке Users открывает список всех зарегистрированных пользователей базы данных. Из трех основных кнопок программы на вкладке Users используются только кнопки New и Design.
Кнопка New создает нового пользователя базы данных. Как нетрудно заметить, все основные элементы окна соответствуют параметрам команды SQL CREATE USER. В поле Username вводится имя нового пользователя, а поля Password и Verify Password предназначены для ввода пароля (если он есть). Флажки позволяют предоставить новому пользователю права CREATEDB и CREATEUSER (как говорилось выше, при наличии этих прав пользователь наделяется правами суперпользователя базы данных). В поле Valid until вводится срок действия учетной записи пользователя (по аналогии с командой CREATE USER).
Кнопка Design позволяет изменить атрибуты выделенной записи пользователя так, как это обычно делается командой SQL ALTER USER. Элементы этого окна также соответствуют различным вариантам команды ALTER USER и позволяют сменить имя пользователя или пароль, предоставить права CREATEDB и CREATEUSER (см. выше) или изменить срок действия учетной записи.
Операции с группами
В PgAccess версии 0.98.7, последней на момент выхода книги, управление группами не поддерживалось. Операции создания и модификации групп пользователей PostgreSQL следует выполнять в интерфейсе командной строки клиента psql.