Научная статья на тему 'ОБЗОР СУЩЕСТВУЮЩИХ СРЕДСТВ РЕЗЕРВНОГО КОПИРОВАНИЯ БАЗЫ ДАННЫХ В СУБД POSTGRESQL'

ОБЗОР СУЩЕСТВУЮЩИХ СРЕДСТВ РЕЗЕРВНОГО КОПИРОВАНИЯ БАЗЫ ДАННЫХ В СУБД POSTGRESQL Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
26
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
резервное копирование / базы данных / СУБД PostgreSQL / стандартные утилиты / администрирование баз данных / backup / database / PostgreSQL DBMS / standard utilities / database administration

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Е.А. Зайкова, Е.П. Моргунов

Представлен краткий обзор средств администрирования баз данных в среде СУБД PostgreSQL, с помощью которых можно осуществить резервное копирование баз данных. Поставлена задача разработки утилиты, позволяющей осуществлять частичный экспорт и импорт данных из связанных таблиц базы данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Е.А. Зайкова, Е.П. Моргунов

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

OVERVIEW OF EXISTING DATABASE BACKUP FACILITIES IN POSTGRESQL DBMS

A brief overview of the PostgreSQL database administration tools that can be used to back up databases is presented. The task of developing a utility that allows for partial export and import of data from related database tables is set up.

Текст научной работы на тему «ОБЗОР СУЩЕСТВУЮЩИХ СРЕДСТВ РЕЗЕРВНОГО КОПИРОВАНИЯ БАЗЫ ДАННЫХ В СУБД POSTGRESQL»

УДК 004.056

ОБЗОР СУЩЕСТВУЮЩИХ СРЕДСТВ РЕЗЕРВНОГО КОПИРОВАНИЯ БАЗЫ

ДАННЫХ В СУБД POSTGRESQL

Е. А. Зайкова Научный руководитель - Е. П. Моргунов

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

Е-mail: lena.zaykova@yandex.ru

Представлен краткий обзор средств администрирования баз данных в среде СУБД PostgreSQL, с помощью которых можно осуществить резервное копирование баз данных. Поставлена задача разработки утилиты, позволяющей осуществлять частичный экспорт и импорт данных из связанных таблиц базы данных.

Ключевые слова: резервное копирование, базы данных, СУБД PostgreSQL, стандартные утилиты, администрирование баз данных.

OVERVIEW OF EXISTING DATABASE BACKUP FACILITIES IN POSTGRESQL

DBMS

E. A. Zaikova Scientific Supervisor - E. P. Morgunova

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation Е-mail: lena.zaykova@yandex.ru

A brief overview of the PostgreSQL database administration tools that can be used to back up databases is presented. The task of developing a utility that allows for partial export and import of data from related database tables is set up.

Keywords: backup, database, PostgreSQL DBMS, standard utilities, database administration.

Во время работы с базами данных (БД) администратору приходится выполнять большое количество операций для поддержания работоспособности системы. Одной из таких операций является резервное копирование БД, начиная от ее части и заканчивая несколькими кластерами. Помимо этого может возникать необходимость осуществления частичного экспорта и импорта данных, при котором нужно сохранить лишь часть данных из нескольких таблиц, записи которых связаны по внешним ключам.

Для осуществления резервного копирования БД, реализованной с помощью системы управления базами данных (СУБД) PostgreSQL, существует ряд стандартных утилит и клиентских приложений.

Наиболее часто используются стандартные утилиты, поставляемые в комплекте с СУБД PostgreSQL: pg_dump и pg_dumpall.

pg_dump - утилита для создания резервных копий базы данных PostgreSQL. Она создает целостные копии, даже если база данных параллельно используется. Эта программа может выгружать только одну базу данных [1].

Синтаксис pg_dump выглядит следующим образом [1]:

Секция «Программные средства и информационные технологии»

pg dump [параметр - подключения...] [параметр...] [имя БД]

Утилита pg_dumpall предназначена для записи («выгрузки») всех баз данных кластера PostgreSQL в один файл в формате скрипта. Также данная утилита выгружает глобальные объекты, общие для всех баз данных, то есть роли и табличные пространства [2].

Синтаксис pg_dumpall выглядит следующим образом [2]:

pg dumpall [параметр - подключения.] [параметр .]

pg_dump и pg_dumpall имеют ряд отличий, хотя в них заложена одна и та же идея:

- pg_dump отвечает за создание резервной копии одной БД, а pg_dumpall - за выгрузку кластера баз данных;

- pg_dump позволяет сохранить данные как в виде скрипта, так и в архивном формате, а pg_dumpall - только в формате скрипта;

- pg_dump не может сохранять глобальные объекты, например, роли или табличные пространства, в отличие от pg_dumpall;

- pg_dump не обязательно запускать от имени суперпользователя, а pg_dumpall, как правило, лучше запускать от его имени;

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

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

DBeaver - это клиентское приложение для управления БД [3]. Оно поддерживает собственные функции резервного копирования и восстановления БД для PostgreSQL.

Собственное восстановление резервной копии отличается от стандартных функций экспортирования и импортирования данных с помощью DBeaver. В нем используются собственные форматы резервного копирования БД, поэтому он может работать быстрее, потому что используются специальные утилиты для прямого высокопроизводительного доступа к БД.

pgAdmin - это программа кроссплатформенного типа для работы с PostgreSQL-серверами. Она предоставляет возможность создания SQL-скрипта, отслеживания процессов и оперирования несколькими БД. Программа ориентирована на работу с PostgreSQL - от создания таблиц до запуска SQL-команд разного уровня сложности [4].

Резервное копирование и восстановление данных осуществляется с помощью мощного, но удобного инструмента, который использует такие стандартные утилиты PostgreSQL, как pg_dump, pg_dumpall и pg_restore.

phpPgAdmin - веб-инструмент администрирования для PostgreSQL [5]. Веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД PostgreSQL. Данное приложение позволяет через браузер осуществлять администрирование сервера PostgreSQL, запускать команды SQL, просматривать содержимое таблиц и баз данных, а также осуществлять резервное копирование.

PaGoDump - это графическая утилита для резервного копирования базы данных PostgreSQL, построенная с помощью Microolap PostgresDAC [6].

Данная графическая утилита позволяет осуществлять создание последовательных резервных копий, даже если БД на данный момент одновременно используется. Утилита не блокирует доступ пользователям. Резервные копии сохраняются в формате скрипта или архивного файла.

Таким образом, применение стандартных утилит или клиентских приложений позволяет оперативно осуществить резервное копирования БД, но только относительно целых таблиц. Рассмотренные утилиты и клиентские приложения не позволяют производить сохранение части строк из таблиц, связанных по внешним ключам, поэтому разработка утилиты, реализующей эту возможность, является актуальной задачей. Такая утилита позволит организовать обмен данными (частичный экспорт и импорт данных) между базами данных, имеющими одинаковую структуру.

Библиографические ссылки

1. PostgreSQL: Документация: 13: pg_dump: Компания Postgres Professional [Электронный ресурс]. - UML: https://postgrespro.ru/docs/postgre sql/13/app-pgdump (дата обращения: 28.02.2021).

2. PostgreSQL: Документация: 13: pg_dumpall: Компания Postgres Professional [Электронный ресурс]. - UML: https://postgrespro.ru/docs/postgre sql/13/app-pg-dumpall (дата обращения: 28.02.2021).

3. DBeaver - Национальная библиотека им. Н. Э. Баумана [Электронный ресурс]. - UML: https://ru.bmstu.wiki/DBeaver (дата обращения: 21.03.2021).

4. pgAdmin [Электронный ресурс]. - UML: https://pgadmin.ru/ (дата обращения: 21.03.2021).

5. phppgAdmin [Электронный ресурс]. - UML: https://github.com/ phppgadmin/phppgadmin (дата обращения: 21.03.2021).

6. Microolap PaGoDump for PostgreSQL: графический инструмент для извлечения БД PostgreSQL [Электронный ресурс]. - UML: https://www.microolap.com/products/ database/pagodump/ (дата обращения: 21.03.2021).

© Зайкова Е. А., 2021

i Надоели баннеры? Вы всегда можете отключить рекламу.