4
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
<link rel="STYLESHEET" type="text/css" href="pgadmin3.css">
6
<title>Příklady pro Slony-I</title>
11
<h3>Příklady pro Slony-I</h3>
13
<p>V tomto příkladu si nastavíte server master s dvěma přímými servery slave. Příklad je napsaný a testovaný
14
za použití Slony-I verze 1.2.11 a PostgreSQL 8.2.5 na jednom počítači s Windows XP. Na vygenerování testovacího
15
schématu a zátěže byla použita pomůcka PostgreSQL pgbench.
19
<li>Vytvořte 3 databáze, master, slave1 a slave2 a ujistěte se, že je na každé nainstalovaný pl/pgsql.<br /> </li>
21
<li>Vytvořte schéma pgbench v databázi master:<br /><br />
23
<code>> pgbench -i -U postgres master</code><br /> </li>
25
<li>Do tabulky history přidejte primární klíč nazvaný history_pkey na sloupcích tid, bid a aid.<br /> </li>
27
<li>Vytvořte výpis pouze schématu databáze master a načtěte jej na slave1 a slave2:<br /><br />
30
> pg_dump -s -U postgres master > schema.sql<br />
31
> psql -U postgres slave1 < schema.sql<br />
32
> psql -U postgres slave2 < schema.sql
33
</code><br /> </li>
35
<li>Vytvořte pro každý proces služby slon (démona v *nixu) soubory s nastavením. Tyto soubory by měly obsahovat právě dva řádky
36
a to následující:<br /><br />
39
cluster_name='pgbench'<br />
40
conn_info='host=127.0.0.1 port=5432 user=postgres dbname=master'
43
Vytvořte soubor pro každou databázi, upravte parametr dbname jak je potřeba a případně přidejte další potřebné volby připojení.<br /> </li>
45
<li>(Pouze pro Windows) Nainstalujte službu Slony-I:<br /><br />
48
> slon -regservice Slony-I
49
</code><br /> </li>
51
<li>Každý proces zaregistrujte (to je nutné pouze ve Windows, v *nixu lze každého démona slon spustit zvlášť a cestu k souboru s nastavením mu předat
52
jako volbu -f příkazové řádky):<br /><br />
55
> slon -addengine Slony-I C:\slony\master.conf<br />
56
> slon -addengine Slony-I C:\slony\slave1.conf<br />
57
> slon -addengine Slony-I C:\slony\slave2.conf
58
</code><br /> </li>
60
<li>V pgAdminu vytvořte v replikačním uzlu v databázi master nový cluster Slony-I s následujícími volbami:<br /><br />
63
Napojit existující cluster: nezvoleno
64
Název clusteru: pgbench
65
Lokální uzel: 1 Uzel Master
66
Řídící uzel: 99 Uzel Admin
69
<li>V replikačním uzlu vytvořte pro každou databázi slave cluster Slony-I s následujícími volbami:<br /><br />
72
Napojit existující cluster: zvoleno
73
Server: <Zvolte server obsahující databázi master>
75
Název clusteru: pgbench
76
Lokální uzel: 10 Uzel Slave 1
77
Řídící uzel: 99 - Uzel Admin
79
Napojit existující cluster: zvoleno
80
Server: <Zvolte server obsahující databázi master>
82
Název clusteru: pgbench
83
Lokální uzel: 20 Uzel Slave 2
84
Řídící uzel: 99 - Uzel Admin
87
<li>V databázi master vytvořte cesty na obě databáze slave a v každé databázi slave cestu zpět na master. Vytvořte cesty v každém uzlu
88
na master s použitím připojovacího řetězce určeného v souborech nastavení slon. Poznamenejme, že změna struktury clusteru v budoucnu
89
může vyžadovat přidání dalších cest.
92
<li>Vytvořte replikační sadu v databázi master s následujícím nastavením:
97
Komentář: sada pgbench
100
<li>Do replikační sady přidejte tabulky s následujícím nastavením:
104
Tabulka: public.accounts
108
Tabulka: public.branches
112
Tabulka: public.history
116
Tabulka: public.tellers
121
<li>Na uzlu master vytvořte nový odběr pro každý uzel slave s následujícími volbami:<br /><br />
125
Poskytovatel: 1 - Uzel Master
126
Příjemce: 10 - Uzel Slave 1
129
Poskytovatel: 1 - Uzel Master
130
Příjemce: 20 - Uzel Slave 2
133
<li>Spusťte službu slon (nebo démona v *nixu): <br /><br />
137
</code><br /> </li>
140
<p>Měla by začít úvodní replikace a v pgAdminu by se pro každý uzel na kartě statistiky měly sledovat změny. Pro testování pod zátěží lze proti
141
databázi master spustit pomůcku pgbench.