summaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref/initgtm.sgml
blob: 0319a547979d63374ecdec4567c354cce1c5f07b (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197

<refentry id="APP-INITGTM">
 <indexterm zone="app-initgtm">
  <primary>initgtm</primary>
 </indexterm>

 <refmeta>
  <refentrytitle>initgtm</refentrytitle>
  <manvolnum>1</manvolnum>
  <refmiscinfo>Application</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>initgtm</refname>
  <refpurpose>create a new <productname>Postgres-XL</productname> GTM or GTM-Proxy for database cluster</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
  <cmdsynopsis>
   <command>initgtm</command>
   <arg rep="repeat"><replaceable>option</replaceable></arg>
   <group choice="plain">
    <arg>--pgdata</arg>
    <arg>-D </arg>
    <replaceable>directory</replaceable>
   </group>
   <arg choice="plain">-Z <replaceable>nodetype</replaceable></arg>
  </cmdsynopsis>
 </refsynopsisdiv>

 <refsect1 id="R1-APP-INITGTM-1">
  <title>
   Description
  </title>
  <para>
   <command>initgtm</command> creates a new GTM or GTM-Proxy node for a
   <productname>Postgres-XL</productname> database cluster.  A database
   cluster has a unique GTM. A GTM-Proxy acts as an intermediate component
   between GTM and Postgres-XL nodes to group request messages. Each Coordinator
   and Datanode of the cluster need to register to GTM when starting up.
  </para>

  <para>
   Creating a GTM for cluster consists of creating the directories and files in
   which the GTM data will live.
  </para>

  <para>
   Although <command>initgtm</command> will attempt to create the
   specified data directory, it might not have permission if the parent
   directory of the desired data directory is root-owned. To initialize
   in such a setup, create an empty data directory as root, then use
   <command>chown</command> to assign ownership of that directory to the
   database user account, then <command>su</command> to become the
   database user to run <command>initgtm</command>.
  </para>

  <para>
   <command>initgtm</command> must be run as the user that will own the
   server process, because the server needs to have access to the
   files and directories that <command>initgtm</command> creates.
   Since the server cannot be run as root, you must not run
   <command>initgtm</command> as root either.  (It will in fact refuse
   to do so.)
  </para>

  <para>
   <command>initgtm</> will be performed locally.
  </para>

 </refsect1>

 <refsect1>
  <title>Options</title>

   <para>
    <variablelist>
     <varlistentry>
      <term><option>-D <replaceable class="parameter">directory</replaceable></option></term>
      <term><option>--pgdata=<replaceable class="parameter">directory</replaceable></option></term>
      <listitem>
       <para>
        This option specifies the directory where the GTM data
        should be stored. Data folder and node type are the only information
        required by <command>initgtm</command>. You can avoid writing it by
        setting the <envar>PGDATA</envar> environment variable.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><option>-Z <replaceable class="parameter">nodetype</replaceable></option></term>
      <listitem>
       <para>
        This option specifies the node type which is initialized. It is possible to
        specify gtm to set up a GTM node, or gtm_proxy to set up a GTM-Proxy.
       </para>
      </listitem>
     </varlistentry>

    </variablelist>
   </para>

   <para>
    Other, less commonly used, parameters are also available:

    <variablelist>
     <varlistentry>
      <term><option>-d</option></term>
      <term><option>--debug</option></term>
      <listitem>
       <para>
        Print debugging output from the bootstrap backend and a few other
        messages of lesser interest for the general public.
        The bootstrap backend is the program <command>initgtm</command>
        uses to create the catalog tables.  This option generates a tremendous
        amount of extremely boring output.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><option>-n</option></term>
      <term><option>--noclean</option></term>
      <listitem>
       <para>
        By default, when <command>initgtm</command>
        determines that an error prevented it from completely creating GTM data
        it removes any files it might have created before discovering
        that it cannot finish the job. This option inhibits tidying-up and is
        thus useful for debugging.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
       <term><option>-V</></term>
       <term><option>--version</></term>
       <listitem>
       <para>
       Print the <application>initgtm</application> version and exit.
       </para>
       </listitem>
     </varlistentry>

     <varlistentry>
       <term><option>-?</></term>
       <term><option>--help</></term>
       <listitem>
       <para>
       Show help about <application>initgtm</application> command line
       arguments, and exit.
       </para>
       </listitem>
     </varlistentry>

    </variablelist>
   </para>

 </refsect1>

 <refsect1>
  <title>Environment</title>

  <variablelist>
   <varlistentry>
    <term><envar>PGDATA</envar></term>

    <listitem>
     <para>
      Specifies the directory where the GTM data is to be
      stored; can be overridden using the <option>-D</option> option.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>

 </refsect1>

 <refsect1>
  <title>Notes</title>

  <para>
   <command>initgtm</> runs only locally.
  </para>
 </refsect1>

 <refsect1>
  <title>See Also</title>

  <simplelist type="inline">
   <member><xref linkend="app-gtm-ctl"></member>
  </simplelist>
 </refsect1>

</refentry>