ПредишенСледващото

Архивиране и възстановяване на данни

Архивиране и възстановяване играят важна роля в работата на всеки администратор на бази данни. Нито една система не е имунизирана от повреди твърдия диск, небрежност или други потребители на потенциални смъртни случаи, което води до влошаване на базата данни PostgreSQL.

В този раздел, две общи методи, описани архивиране на данните. В първата молба вариант pg_dump включени в пакета за PostgreSQL, генерира набор от SQL команди за пълно резервно копие на базата данни. Вторият вариант се основава на резервния сървър файлова система.

Pg_dump приложение се стартира от командния ред и да се изгради серия от SQL команди. Тези команди в този ред ви позволява напълно да пресъздадете базата данни.

Синтаксисът на pg_dump приложение:

pg_dump [опции] data_base

Име_на_БД параметър определя името на базата данни, за който командва генерира SQL. низ параметър има същия формат като други услуги за управление на база данни (например, createdb). Това най-често се предава ключ - е да се определи файл, който съхранява генерираната команда.

Ако не е посочен на флага -F, генерираното SQL команди, вместо да пишете във файл се показва в стандартния изход на поток.

По-долу е пълен списък на pg_dump ключове за кандидатстване.

По подразбиране, заявление pg_dump може да се управлява от всеки потребител на системата, но потребителят се свързва към PostgreSQL, трябва да имат правото пробата за всички обекти в архивираната база данни. Обява 9.20 е пример за pg_dump мениджър потребителското програма за booktown база данни. Key C включва командата CREATE DATABASE архив. Тази команда не винаги е, тъй като в някои случаи се създава на базата данни по-рано в нестандартна конфигурация.

Обявата 9.20. Използването pg_dump приложение

[Jworsley @ booktown -] $ pg_dump -u -С -f booktown.sql booktown

Потребител: мениджър Парола:

[Jworsley @ booktown -] $ е -1 booktown.sql

-RW-RW-r-- 1 jworsley jworsley 46542 13 септември 16:42 booktown.sql

Приложение pg_dump поддържа стандартни параметри на приемните съединения (ключове -h, -u и -p), която позволява отдалечено архивиране от всеки хост, който е позволено да се свърже дистанционно в съответствие със съдържанието pgjiba.conf (за повече информация вижте глава 8) файл.

Обява 9.21 са свързване с отдалечен сървър за сървъра booktown.commandprompt.com да създаде архивен файл в софтуерна формат (ключов -F в) booktown.sql.tar.gz име.

Обявата 9.21. старт pg_dump Remote

] $ Pg_dump -u -h booktown.commandprompt.com \

-F с -f booktown.sql.tar.gz booktown

[Jworsley @ CMD -] $ е -1 booktown.sql.tar.gz

-RW-RW-R-th1nsp: - 1 jworsley jworsley 45909 13 септември 17:12 booktown.sql.tar.gz

Ако файлът трябва да съдържа двоични големи обекти, използвайте катран формат (т) или софтуерна (с), тъй като формата на текст не предвижда такава възможност. В други случаи, текстови файлове е достатъчно.

В катран формат често е повече от два пъти обема на текстовите ви прототипи, дори и ако те не съдържат двоични обекти. Фактът, че форматът на катран включва йерархична таблица на съдържанието .dat файлове. Този индекс се съдържа информация, необходима за декомпресиране формат катран, съответстваща pg_restore команда; допълнителни указания, които да заемат твърде много място на диска. Тъй като катран архивите на файлове без компресия, тя е снабдена с формат, който осигурява автоматична компресия катран-файлове в софтуерна формат.

PostgreSQL също има pg_dumpall приложение, което е един вид "черупка" за поканата на pg_dump програма. Основната функция на това приложение е в едновременното резервно копие на цялото обединение на PostgreSQL бази данни за система без да се поставя pg_dump за всеки от своя страна на бази данни. Синтаксис pg_dumpaTl команден изход от флага - -help:

на pg_dumpall [с] [-Н гостоприемник] [-р порт] [д]

Pg_dumpall заявление получава същите параметри на връзката като приложението pg_dump. По-долу са клавишите за pg_dumpall.

  • -а. SQL команда за създаване на глобални обекти трябва да предшестват командата за отстраняване на тези обекти.
  • -з гостоприемник, - -host = .roaw. Водещ на които се установява връзка вместо домакин локалния хост или променлива PGHOST приемащата среда дефинирани. Той се използва в случаите, когато базата данни се създава резервно копие на друг сървър.
  • -р порт, --port = nopm. Port, на която трябва да се направи връзката със сървъра, вместо на стандартния вход (обикновено 5432).
  • -д, --globals само. Скрие само глобални обекти. Обикновено, този режим се използва, когато пресъздава потребители и групи, както и дублиране на друг компютър (архива е преместен на друг компютър и реставрирана). Когато инсталирате -e ключ, преди да изпълни Създаване на pg_shadow маса автоматично изтрива всички потребители. Бъдете внимателни!

Не изпълнява команда pg_dumpall с ключа -. Това ще доведе до факта, че ключът ще бъде предаден на pg_dump за всяко приложение на базата данни и на изхода ще заемат много повече място, отколкото може би си мислите. За помощ pg_dumpall команда използва --help ключ.

Моля, обърнете внимание: в PostgreSQL възможности 7.1.x pg_dumpall скрипт са малко по-ограничени в сравнение с конвенционалния сценарий pg_dump. Например, ключ и не ви позволява да изпращате различно потребителско име и парола, както и -F ключ не може да посочите друг формат, различен от обикновен текст (текстови файлове са създадени във формата, независимо от формата). От това следва, че преминаването -b, също не могат да бъдат прехвърлени към програмата за pg_dumpall, тъй като тя изисква формат, различен от текст.

Въпреки pg_dump приложение може да премине на името на файла с помощта на опцията -f, получения файл няма да е пълна, тъй като всички глобален pg_dumpall данни

още изпратена на стандартния изход на поток. Проблемите се решават с ключ ^ pg_dumpall пренасочване на изхода на черупката с помощта на файл (>).

S липса се компенсира от просто възлагане ключова променлива PGUSER среда. И ако се свързвате към една система, която изисква удостоверяване с помощта на парола, и не искат да преминат отделна парола за всеки от архивния базата данни, присвояване на стойност на променлива PGPASSWORD.

Обява 9.22 показва проста команда Баш да се определи временна променлива PGUSER среда, когато се обаждате PostgreSQL клиент Въпреки необходимостта от такива променливи е рядкост, тя е полезна техника, която трябва да се помни, в някои специфични случаи - например, когато се работи с един скрипт pg_dumpall. Обява 9.22 PGUSER променлива осигурява единен архивен файл за всички бази данни.

Обявата 9.22. Използването pg_dumpall команда

[Jworsley @ booktown -] $ PGUSER = Postgres pg_dumpall> all.sql

В първата част на командата е показано на Обява 9.22, възлага временно PGUSER Postgres променлива стойност. Променливата е създаден по времето на pg_dumpall и престава да съществува, когато след завършването на програмата.

Като цяло, приложението трябва да работи pg_dumpall корен PostgreSQL. Това се дължи на факта, че pg_dumpall команда достъп PostgreSQL системата каталози, тъй като в допълнение към обекти на базата данни я архивира глобални обекти.

Екип pg_dumpal 1 може да се извърши и от разстояние, въпреки че това трябва да се създаде всички необходими на околната среда променливи. силен процедура зависи от настройките на отдалечения хост във файла pg_hba.conf.

pg_dumpa11 команда се използва в случаите, когато базата данни не е особено удобно да направите резервно копие на отделно или в присъствието на една сложна система се използва тели и групи. Ако се намесва в pg_dumpall ограничения за изход даден правителствен (особено ако вашата база данни използва големи обекти), просто стартирайте командния vsep pg_dumpal1 ключ -е да архивирате всички потребители и групи, а след това на свой ред причина pg_dump програма за всички) бази данни които трябва да бъдат архивирани.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!