<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://wiki.mna.tom.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_PostgreSQL</id>
		<title>Резервное копирование PostgreSQL - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.mna.tom.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_PostgreSQL"/>
		<link rel="alternate" type="text/html" href="https://wiki.mna.tom.ru/index.php?title=%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_PostgreSQL&amp;action=history"/>
		<updated>2026-05-18T11:06:30Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>https://wiki.mna.tom.ru/index.php?title=%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_PostgreSQL&amp;diff=80&amp;oldid=prev</id>
		<title>Admin: Новая страница: «category:Linux category:Backup '''Резервное копирование PostgreSQL'''  Для того, чтобы сделать «элементар…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.mna.tom.ru/index.php?title=%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_PostgreSQL&amp;diff=80&amp;oldid=prev"/>
				<updated>2014-11-07T09:27:56Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «&lt;a href=&quot;/index.php/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Linux&quot; title=&quot;Категория:Linux&quot;&gt;category:Linux&lt;/a&gt; &lt;a href=&quot;/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Backup&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Категория:Backup (страница не существует)&quot;&gt;category:Backup&lt;/a&gt; &amp;#039;&amp;#039;&amp;#039;Резервное копирование PostgreSQL&amp;#039;&amp;#039;&amp;#039;  Для того, чтобы сделать «элементар…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[category:Linux]]&lt;br /&gt;
[[category:Backup]]&lt;br /&gt;
'''Резервное копирование PostgreSQL'''&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сделать «элементарный» backup в postgresql нужно выполнить несколько команд. Итак, приступим :)&lt;br /&gt;
Залогинимся под пользователем postgres&lt;br /&gt;
&lt;br /&gt;
 $ su - postgres&lt;br /&gt;
&lt;br /&gt;
Посмотрим список баз данных&lt;br /&gt;
 $ psql -l&lt;br /&gt;
&lt;br /&gt;
Воспользуемся pg_dump — стандартной утилитой для создания резервных копий postgresql. Она имеет достаточно простой синтаксис&lt;br /&gt;
 $ pg_dump databasename &amp;gt; outputfile&lt;br /&gt;
&lt;br /&gt;
Например для базы данных databasename, это будет выглядеть так&lt;br /&gt;
 $ pg_dump databasename &amp;gt; databasename.dump.out&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы dump занимал меньше места на диске, его лучше сжать&lt;br /&gt;
 $ pg_dump databasename |gzip-c&amp;gt; databasename.dump.out.gz&lt;br /&gt;
&lt;br /&gt;
Для восстановления (restore) достаточно выполнить&lt;br /&gt;
 $ psql -d databasename -f databasename.dump.out&lt;br /&gt;
&lt;br /&gt;
Есть еще весьма полезная команда, которая создает dump всех баз данных и помещает их в один файл&lt;br /&gt;
$ pg_dumpall &amp;gt; all.dbs.out&lt;br /&gt;
&lt;br /&gt;
Или же с компрессией на лету&lt;br /&gt;
 $ pg_dumpall |gzip-c&amp;gt; all.dbs.out.gz&lt;br /&gt;
&lt;br /&gt;
Можно это оформить в виде простенького скриптика для автоматизации процесса резервного копирования:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#расположение директории с dump'ами&lt;br /&gt;
DIR=&amp;quot;/backups/postgres&amp;quot;&lt;br /&gt;
mkdir -p $DIR&lt;br /&gt;
#путь к log файлу&lt;br /&gt;
LOG=&amp;quot;/var/log/postgres_log.log&amp;quot;&lt;br /&gt;
touch$ LOGTIMENAME=`date +%d.%m.%Y-%H.%M`&lt;br /&gt;
db=`psql -l|sed-n4,/\eof/p |grep-v rows\)|grep-vE'template[0|1]'|awk{'print $1'}`&lt;br /&gt;
for n in $db; do&lt;br /&gt;
 TIMEDUMP=`date'+%T %x'`&lt;br /&gt;
 echo&amp;quot;backup and vacuum has been done at $TIMEDUMP : $TIMENAME on db: $n&amp;quot;&amp;gt;&amp;gt;$LOG&lt;br /&gt;
 vacuumdb -z$n&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 pg_dump $n|gzip-c&amp;gt;&amp;quot;$DIR/psql-$n-$TIMENAME-db.dump.gz&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ну и желательно добавить это в cron для выполнения бэкапа postgresql с определенной переодичностью&lt;br /&gt;
 /path/backup_script &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>