Инструменты Postgres


Postgres - самая серьезная открытая база данных.

* psql, createdb, dropdb, pg_dump, pg_dumpall, pg_restore

  - утилиты, которые идут в поставке Postgres для выполнения запросов,
    создания БД, дампа БД и восстановления из бекапа.

* pg_top и ptop

  - аналоги команды top, показывают online-информацию по активности в БД. Если есть
    возможность, желательно запускать команды от пользователя postgres (аналог rootа для
    базы данных), поскольку так они смогут показывать и системные процессы в том числе.

* pgtune

  - программа для тюнинга БД. Полезна для создания некоторого начального конфига,
    от которого можно считать настоящую боевую конфигурацию.

* pgpool, pgpool2

  - приложения, позволяющие реализовать "пул" баз данных Postgres и балансировать нагрузку.
    В обычной жизни практически не используются, поскольку рассчитаны на сверх
    быстродействующие и большие базы данных.

* phppgadmin

  - это web-приложение, аналог всем известного phpmyadmin, для администрирования базы данных
    через web. Очень удобно для сайтов, построенных на Postgres.

* pgadmin3

  - это графическое приложения, в котором можно не только управлять запросами к базе,
    но и строить реляционные схемы, смотреть графики и наглядную статистику

* pgagent

  - это планировщик для базы данных. Умеет по расписанию выполнять запросы и bash-скрипты.
    Очень полезен. В разных системах Linux, ставится по разному, и зачастую отсутствует
    в установке по умолчанию.

* /usr/share/postgresql/8.4/contrib

  - а вот в этом каталоге присутствует много *.sql файлов, которые добавляют в Posgres
    совсем другой потенциал. Здесь содержатся хранимые функции, реализующие функционал для
    решения самых разнообразных задач, в том числе для статистики и планировщика. Как
    правило, эта папочка появляется после установки отдельного пакета postgres-contrib.

Кроме перечисленных утилит, конечно, нельзя забывать и о других общесистемных инструментах
- top, dstat, iostat, vmstat и т.д., которые могут сообщить дополнительную информацию
по работе Postgres.

Важно отметить, что система безопасности Postgres отличается от других баз данных, особенно
в той части, что все пользователи могут создавать объекты и использовать функции в схеме
public. Часто это бывает нежелательно. Для этого нужно урезать права:

REVOKE CREATE ON SCHEMA public FROM PUBLIC;

и проверить, что существующие роли случайно не наследуются от тех,
которые всё-таки имеют возможность создания объектов внутри схемы public.