You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 26, 2022. It is now read-only.
Copy file name to clipboardExpand all lines: backups/barman.tex
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ \subsection{Barman}
5
5
6
6
\subsubsection{Установка и настройка}
7
7
8
-
Рассмотрим простом случай с одним экземпляром PostgreSQL (один сервер) и пусть его хост будет <<pghost>>. Наша задача~--- автоматизировать сбор и хранение бэкапов этой базы на другом сервере (его хость будет <<brhost>>). Для взаимодействия эти два сервера должны быть полность открыты по SSH (доступ без пароля, по ключам). Для этого можно использовать authorized\_keys файл.
8
+
Рассмотрим простом случай с одним экземпляром PostgreSQL (один сервер) и пусть его хост будет <<pghost>>. Наша задача~--- автоматизировать сбор и хранение бэкапов этой базы на другом сервере (его хост будет <<brhost>>). Для взаимодействия эти два сервера должны быть полностью открыты по SSH (доступ без пароля, по ключам). Для этого можно использовать authorized\_keys файл.
9
9
10
10
\begin{lstlisting}[label=lst:barman1,caption=Проверка подключения по SSH]
11
11
# Проверка подключения с сервера PostgreSQL (pghost)
@@ -29,7 +29,7 @@ \subsubsection{Установка и настройка}
29
29
# sudo python setup.py install
30
30
\end{lstlisting}
31
31
32
-
Теперь перейдем к серверу с PostgreSQL. Для того, что бы barman мог подключатся к базе данных без проблем, нам нужно выставить настройки доступа в конфигах PostgreSQL:
32
+
Теперь перейдем к серверу с PostgreSQL. Для того, чтобы barman мог подключаться к базе данных без проблем, нам нужно выставить настройки доступа в конфигах PostgreSQL:
33
33
34
34
\begin{lstlisting}[label=lst:barman4,caption=Отредактировать в postgresql.conf]
35
35
listen_adress = '*'
@@ -81,7 +81,7 @@ \subsubsection{Установка и настройка}
81
81
conninfo = host=pghost user=postgres
82
82
\end{lstlisting}
83
83
84
-
Секция <<main>> (так мы назвали для barman наш PostgreSQL севрер) содержит настроки для подключения к PostgreSQL серверу и базе. Проверим настройки:
84
+
Секция <<main>> (так мы назвали для barman наш PostgreSQL сервер) содержит настроки для подключения к PostgreSQL серверу и базе. Проверим настройки:
Copy file name to clipboardExpand all lines: backups/wal_e.tex
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,7 @@ \subsubsection{Установка}
24
24
После успешной установки можно начать работать с WAL-E.
25
25
26
26
\subsubsection{Настройка и работа}
27
-
Как уже писалось, WAL-E сливает все данные в AWS S3, поэтому нам потребуются <<Access Key ID>> и <<Secret Access Key>> (эти данные можно найти в акаунте Amazon AWS). Команда для загрузки бэкапа всей базу данный в S3:
27
+
Как уже писалось, WAL-E сливает все данные в AWS S3, поэтому нам потребуются <<Access Key ID>> и <<Secret Access Key>> (эти данные можно найти в акаунте Amazon AWS). Команда для загрузки бэкапа всей базы данных в S3:
28
28
29
29
\begin{lstlisting}[label=lst:wal-e3,caption=Загрузка бэкапа всей базы данных в S3]
30
30
AWS_SECRET_ACCESS_KEY=... wal-e \
@@ -33,7 +33,7 @@ \subsubsection{Настройка и работа}
33
33
backup-push /var/lib/postgresql/9.2/main
34
34
\end{lstlisting}
35
35
36
-
Где <<s3-prefix>>~--- урл, который содержит имя S3 бакета (bucket) и путь к папке, куда следует складывать резервные копии. Команда для загрузки WAL-логов на S3:
36
+
Где <<s3-prefix>>~--- URL, который содержит имя S3 бакета (bucket) и путь к папке, куда следует складывать резервные копии. Команда для загрузки WAL-логов на S3:
37
37
38
38
\begin{lstlisting}[label=lst:wal-e4,caption=Загрузка WAL-логов на S3]
39
39
AWS_SECRET_ACCESS_KEY=... wal-e \
@@ -68,7 +68,7 @@ \subsubsection{Настройка и работа}
68
68
archive_timeout = 60
69
69
\end{lstlisting}
70
70
71
-
Лучше указать полный путь к WAL-E (можно узнать командой <<which wal-e>>), поскольку PostgreSQL может его не найти. После этого нужно перегрузить PostgreSQL. В логах базы вы должны увидать чтото подобно:
71
+
Лучше указать полный путь к WAL-E (можно узнать командой <<which wal-e>>), поскольку PostgreSQL может его не найти. После этого нужно перегрузить PostgreSQL. В логах базы вы должны увидеть что-то подобное:
@@ -123,7 +123,7 @@ \subsubsection{Настройка и работа}
123
123
\label{fig:wal-e3}
124
124
\end{figure}
125
125
126
-
Данный бэкап лучше делать раз в сутки (например, добавить в crontab). На рис~\ref{fig:wal-e1}-\ref{fig:wal-e3} видно как хранятся бэкапы на S3. Все бэкапы сжаты через lzop\footnote{http://en.wikipedia.org/wiki/Lzop}. Данный алгоритм сжимает хуже чем gzip, но скорость сжатия намного быстрее (приблизительно 25Мб/сек используя 5\% ЦПУ). Чтобы уменьшить нагрузку на чтения с жесткого диска бэкапы отправляются через mbuffer (опцией <<cluster-read-rate-limit>> можно ограничить скорость чтения, если это требуется).
126
+
Данный бэкап лучше делать раз в сутки (например, добавить в crontab). На рис~\ref{fig:wal-e1}-\ref{fig:wal-e3} видно как хранятся бэкапы на S3. Все бэкапы сжаты через lzop\footnote{http://en.wikipedia.org/wiki/Lzop}. Данный алгоритм сжимает хуже чем gzip, но скорость сжатия намного быстрее (приблизительно 25Мб/сек используя 5\% ЦПУ). Чтобы уменьшить нагрузку на чтение с жесткого диска бэкапы отправляются через mbuffer (опцией <<cluster-read-rate-limit>> можно ограничить скорость чтения, если это требуется).
127
127
128
128
Теперь перейдем к восстановлению данных. Для восстановления базы из резервной копии используется <<backup-fetch>> команда:
Copy file name to clipboardExpand all lines: extensions/hstore.tex
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
\section{HStore}
2
2
\textbf{Лицензия}: Open Source
3
3
4
-
HStore~-- расширение, которое реализует тип данных для хранения ключ/значение в пределах одного значения в PostgreSQL (например в одном текстовом поле). Это может быть полезно в различных ситуациях, таких как строки с многими атрибутами, которые редко вибираются, или полу-структурированные данные. Ключи и значения являются простыми текстовыми строками.
4
+
HStore~-- расширение, которое реализует тип данных для хранения ключ/значение в пределах одного значения в PostgreSQL (например, в одном текстовом поле). Это может быть полезно в различных ситуациях, таких как строки с многими атрибутами, которые редко вибираются, или полу-структурированные данные. Ключи и значения являются простыми текстовыми строками.
0 commit comments