<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
	<id>http://postgres.cz/index.php?action=history&amp;feed=atom&amp;title=Z%C3%A1lohov%C3%A1n%C3%AD_datab%C3%A1ze</id>
	<title>Zálohování databáze - Historie editací</title>
	<link rel="self" type="application/atom+xml" href="http://postgres.cz/index.php?action=history&amp;feed=atom&amp;title=Z%C3%A1lohov%C3%A1n%C3%AD_datab%C3%A1ze"/>
	<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=Z%C3%A1lohov%C3%A1n%C3%AD_datab%C3%A1ze&amp;action=history"/>
	<updated>2026-06-28T20:02:29Z</updated>
	<subtitle>Historie editací této stránky</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://postgres.cz/index.php?title=Z%C3%A1lohov%C3%A1n%C3%AD_datab%C3%A1ze&amp;diff=510&amp;oldid=prev</id>
		<title>imported&gt;Pavel: Pavel přesunul stránku Backup na Zálohování databáze</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=Z%C3%A1lohov%C3%A1n%C3%AD_datab%C3%A1ze&amp;diff=510&amp;oldid=prev"/>
		<updated>2013-09-15T06:17:33Z</updated>

		<summary type="html">&lt;p&gt;Pavel přesunul stránku &lt;a href=&quot;/wiki/Backup&quot; class=&quot;mw-redirect&quot; title=&quot;Backup&quot;&gt;Backup&lt;/a&gt; na &lt;a href=&quot;/wiki/Z%C3%A1lohov%C3%A1n%C3%AD_datab%C3%A1ze&quot; title=&quot;Zálohování databáze&quot;&gt;Zálohování databáze&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Jednoduché zálohování pomocí &amp;#039;&amp;#039;pg_dump&amp;#039;&amp;#039; a &amp;#039;&amp;#039;pg_dumpall&amp;#039;&amp;#039;==&lt;br /&gt;
Zálohování pomocí pg_dump a pg_dumpall je nejjednodušší metoda (když pominu zkopírování PostgreSQL clusteru při zastaveném serveru). Pro svou jednoduchost se jedná o robustní metodu.&lt;br /&gt;
* Jednoduché a rychlé pro zápis.&lt;br /&gt;
* Možnost zálohování vybraných databází a vybraných tabulek.&lt;br /&gt;
* Záloha je ve formátu plain textu obsahující SQL příkazy.&lt;br /&gt;
* Přenositelné napříč verzemi a platformami.&lt;br /&gt;
* U velkých db pomalá obnova (je nutné znovuvytvářet indexy), nepraktické pro databáze nad 100G.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pg_dump mojedb &amp;gt; zaloha.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Obnova ze zálohy===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
psql postgres -f zaloha.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
pg_dump neukládá seznam uživatelů databáze (v Pg se uživatelé nevztahují k jedné db). Pro export uživatelů (rolí) je nutné použít &amp;#039;&amp;#039;pg_dumpall -r&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Online fyzické zálohování databázového clusteru s pomocí &amp;#039;&amp;#039;pg_basebackup&amp;#039;&amp;#039;==&lt;br /&gt;
&amp;#039;&amp;#039;pg_basebackup&amp;#039;&amp;#039; vytvoří konzistentní kopii databázového clusteru - a to za běhu serveru. Rychlost zálohování i obnovy je omezena rychlostí zápisu a čtení disků.&lt;br /&gt;
* Poměrně jednoduché.&lt;br /&gt;
* Zálohuje vždy celou databázi včetně indexů - mnohem větší objem zálohy - ale i mnohem rychlejší obnova&lt;br /&gt;
===Postup===&lt;br /&gt;
* Úprava postgresql.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wal_level = archive&lt;br /&gt;
max_wal_senders = 1&lt;br /&gt;
&lt;br /&gt;
# v případě větších db zvýšit&lt;br /&gt;
#wal_keep_segments = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Úprava pg_hba.conf - explicitní přístup uživatele s právem &amp;#039;&amp;#039;REPLICATION&amp;#039;&amp;#039; k fiktivní databázi &amp;#039;&amp;#039;replication&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# TYPE  DATABASE        USER            ADDRESS                 METHOD&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;local&amp;quot; is for Unix domain socket connections only&lt;br /&gt;
local   all             all                                     ident&lt;br /&gt;
local   replication     backup                                  md5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pozor: datábáze &amp;#039;&amp;#039;replication&amp;#039;&amp;#039; je virtuální a proto se na ní nevztahuje &amp;#039;&amp;#039;ALL&amp;#039;&amp;#039;,&lt;br /&gt;
* Restart serveru - přidání uživatele backup a nastavení hesla&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ostgres=# create role backup login replication;&lt;br /&gt;
CREATE ROLE&lt;br /&gt;
postgres=# alter role backup password &amp;#039;heslo&amp;#039;;&lt;br /&gt;
ALTER ROLE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Vlastní zálohování&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[pavel@diana ~]$ /usr/local/pgsql91/bin/pg_basebackup -D zaloha9 -U backup -v -P -x -c fast&lt;br /&gt;
Password: &lt;br /&gt;
xlog start point: 0/21000020&lt;br /&gt;
50386/50386 kB (100%), 1/1 tablespace                                    &lt;br /&gt;
xlog end point: 0/21000094&lt;br /&gt;
pg_basebackup: base backup completed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Obnova ze zálohy===&lt;br /&gt;
Obsah adresáře zálohy zkopírujeme do adresáře clusteru PostgreSQL a nastartujeme server. Pozor - vlastníkem souborů bude uživatel, pod kterým byl spuštěn pg_basebackup, což pravděpodobně nebude uživatel postgres, a proto je nutné hromadně změnit vlastníka souborů.&lt;br /&gt;
&lt;br /&gt;
==Online kontinuální zálohování s použitím Barmana==&lt;br /&gt;
ToDo: http://www.pgbarman.org/&lt;/div&gt;</summary>
		<author><name>imported&gt;Pavel</name></author>
	</entry>
</feed>