
- •Работа з субд PostgreSql
- •УстановкаPostgreSql
- •Создание новой бд
- •Создание новой бд
- •Создание новой таблицы
- •Определения первичного ключа таблицы
- •Особенности первичных ключей в PostgreSql
- •Внешние ключи и создание связей между таблицами
- •Ввод данных в таблицу
- •Резервное копирование и восстановление бд
- •Резервное копирование(BackUp) бд
- •Восстановление (Restore) бд
- •СозданиеSql-дампа бд
- •ВосстановлениеSql-дампа средствами pgAdmin III
- •Создание дампа с помощью утилит pg_dump или pg_dumpall
- •ВосстановлениеSql-дампа бд
- •Особенности взаимодействия субдAccessИPostgreSql
- •Подготовка соединения PostgreSql с бд вAccess
- •Копирование таблицAccessв таблицы PostgreSql
- •Подключение таблиц PostgreSql к бд вAccess
- •Характеристики PostgreSql
- •Размер базы данных
- •Поддерживаемые встроенные типы данных
- •Администрирование PostgreSql
- •Литература
СозданиеSql-дампа бд
Идея создания SQL-дампа БД заключается в создании текстового файла с командами SQL INSERT(см. подраздел 9.3), с помощью которых на сервере можно воссоздать БД в реляционной СУБД любого производителя, что обеспечивает перенос БД между разными СУБД.
Примечание 1. В принципе pgAdmin III предусматривает создание SQL‑дампа, но на практике возникают некоторые ошибки при его восстановлении. С другой стороны менеджер PgMaestro хорошо выполняет работу по созданию и восстановлению SQL‑дампа, который восстанавливается и pgAdmin III.
ВосстановлениеSql-дампа средствами pgAdmin III
Вызвать окно SQL–запроса.
Рисунок 9.8 –Вызов окна SQL–запроса
Выполнить поиск файла с SQL-дампом
Рисунок 9.9 – Выбор файла SQL-дампа
Открыть файл с SQL-дампом
Рисунок 9.10 – Открытие файла SQL-дампа
Рисунок 9.11 – Восстановление SQL-дампа
Создание дампа с помощью утилит pg_dump или pg_dumpall
С целью демонстрации возможностей по созданию/восстановлению SQL‑дампа по глобальным сетям при установлении жестких ограничений на доступ к серверам только через SSL‑порт (Secure Sockets Layer - Протокол защищенных сокетов) далее для создания SQL-дампа БД в PostgreSQL будет применена утилита pg_dump.
Утилита pg_dump представляет собой обычное клиентское приложение PostgreSQL. Пример ее использования может выглядеть следующим образом:
pg_dump dbname > outfile,
где
dbname – имя БД на сервере,
outfile – имя нового файла, который будет содержать SQL-дамп БД.
Примечание 2. В качестве outfile можно указывать полный путь к файлу. По умолчанию новый файл будет создан в папке \bin каталога, куда был установлен PostgreSQL (например, c:\Program Files\PostgreSQL\8.3\bin\).
pg_dump позволяет выполнять процедуру резервного копирования БД с любого удаленного компьютера, который имеет доступ к этой БД. Однако, следует помнить, что pg_dump не работает с особо настроенными правами. А именно, пользователь, который запускает эту утилиту, должен иметь права на чтение всех таблиц, для которых ему нужно создать резервные копии, поэтому, как правило, лучше всего запускать ее из-под суперпользователя БД.
Чтобы указать, к какому серверу следует обратиться pg_dump, в командной строке используются опции -h host и -p port. В качестве хоста по умолчанию используется локальный компьютер или то, что указано в переменной окружения PGHOST. Аналогично, порт по умолчанию определяется переменной окружения PGPORT или, если это не удалось, значением по умолчанию, указанным при компилировании.
Как и любое другое клиентское приложение PostgreSQL, pg_dump по умолчанию будет устанавливать соединение с именем пользователя БД, соответствующим имени текущего пользователя операционной системы. Это можно изменить с помощью опции -U или заданием переменной окружения PGUSER. Следует также помнить, что соединения pg_dump подчиняются обычным механизмам аутентификации клиентов.
Дамп, создаваемый с помощью pg_dump, обладают внутренней связностью, поскольку дамп представляет собой "снимок БД" в состоянии на момент запуска pg_dump. Во время своей работы pg_dump не блокирует выполнение других операций. (Исключения составляют операции, требующие полной блокировки, среди которых почти все виды ALTER TABLE).
Примечание 3. Если схема БД основывается на использовании OID (например, в качестве внешних ключей), необходимо дать pg_dump указания включить OID в дамп. Для этого используется опция командной строки -o. Более подробно об опциях pg_dump см. [11].
В качестве примера приведем описание процесса создания SQL-дампа для БД «Деканат ВУЗа» с помощью командной строки.
Запустить командную строку PostgreSQL (Пуск–>Программы–> PostgreSQL–>Командная строка). Или в Пуск–>Выполнить самостоятельно набрать команду или получить ее через Обзор
C:\Program Files\PostgreSQL\9.0\bin\pg_dump.exe
В результате будет получено окно, представленное на рисунке 9.12;
Рисунок 9.12 – Командная строка PostgreSQL
Написать в командной строке следующую строку, после чего нажать Enter (рисунок 9.13):
pg_dump –U postgres Deanery > d:\BackUpDb\DeaneryBkUp
Рисунок 9.13 – Командная строка PostgreSQL
Примечание: Как было написано выше, pg_dump по умолчанию будет устанавливать соединение с именем пользователя БД, соответствующим имени текущего пользователя операционной системы, который может не быть суперпользователем этой БД. Поэтому необходимо явно указывать суперпользователя с помощью опции –U.
Затем ввести пароль суперпользователя БД.