summaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref/create_barrier.sgml
blob: 505cfec9e93afda0e4666989e737c124c7aa00d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<refentry id="SQL-CREATEBARRIER">
 <indexterm zone="sql-createbarrier">
  <primary>CREATE BARRIER</primary>
 </indexterm>

 <refmeta>
  <refentrytitle>CREATE BARRIER</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>CREATE BARRIER</refname>
  <refpurpose>create a new barrier</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
CREATE BARRIER <replaceable class="PARAMETER">barrier_name</replaceable>
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>CREATE BARRIER</command> is new SQL command specific
   to <productname>Postgres-XL</productname> that creates
   a new XLOG record on each node of the cluster consistently. 
   Essentially a barrier is a consistent point in the cluster that
   you can recover to. Note that these are currently created manually,
   not autoatically. Without barriers, if you recover an individual 
   component, it may be possible that it is not consistent with the
   other nodes depending on when it was committed.
  </para>
  <para>A barrier
   is created via a 2PC-like mechanism from a remote Coordinator in 3
   phases with a prepare, execute and ending phases.  A new recovery
   parameter called recovery_target_barrier has been added in
   recovery.conf. In order to perform a complete PITR recovery, it is
   necessary to set recovery_target_barrier to the value of a barrier
   already created. Then distribute recovery.conf to each data folder
   of each node, and then to restart the nodes one by one.
  </para>

  <para>
   The default barrier name is <literal>dummy_barrier_id</literal>. It is
   used when no barrier name is specified when using <command>CREATE
   BARRIER</command>.
  </para>
  
 </refsect1>

</refentry>