codekingpro/portable-devtools
114k
1
2
3<!DOCTYPE html>
4
5<html lang="en" data-content_root="./">
6 <head>
7 <meta charset="utf-8" />
8 <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
9
10 <title>Installing pgAgent — pgAdmin 4 8.6 documentation</title>
11 <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
12 <link rel="stylesheet" type="text/css" href="_static/style.css?v=d36593c3" />
13
14 <script src="_static/documentation_options.js?v=d4c83366"></script>
15 <script src="_static/doctools.js?v=9a2dae69"></script>
16 <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
17
18 <script src="_static/sidebar.js"></script>
19
20 <link rel="index" title="Index" href="genindex.html" />
21 <link rel="search" title="Search" href="search.html" />
22 <link rel="next" title="Creating a pgAgent Job" href="pgagent_jobs.html" />
23 <link rel="prev" title="Using pgAgent" href="using_pgagent.html" />
24 </head><body>
25 <div class="related" role="navigation" aria-label="related navigation">
26 <h3>Navigation</h3>
27 <ul>
28 <li class="right" style="margin-right: 10px">
29 <a href="genindex.html" title="General Index"
30 accesskey="I">index</a></li>
31 <li class="right" >
32 <a href="pgagent_jobs.html" title="Creating a pgAgent Job"
33 accesskey="N">next</a> |</li>
34 <li class="right" >
35 <a href="using_pgagent.html" title="Using pgAgent"
36 accesskey="P">previous</a> |</li>
37 <li class="nav-item nav-item-0"><a href="index.html">pgAdmin 4 8.6 documentation</a> »</li>
38 <li class="nav-item nav-item-1"><a href="pgagent.html" accesskey="U">pgAgent</a> »</li>
39 <li class="nav-item nav-item-this"><a href="">Installing pgAgent</a></li>
40 </ul>
41 </div>
42
43 <div class="document">
44 <div class="documentwrapper">
45 <div class="bodywrapper">
46 <div class="body" role="main">
47
48 <section id="installing-pgagent">
49<span id="pgagent-install"></span><h1><span class="target" id="index-0"></span>Installing pgAgent<a class="headerlink" href="#installing-pgagent" title="Link to this heading">¶</a></h1>
50<p>pgAgent runs as a daemon on Unix systems, and a service on Windows systems. In
51most cases it will run on the database server itself - for this reason, pgAgent
52is not automatically configured when pgAdmin is installed. In some cases
53however, it may be preferable to run pgAgent on multiple systems, against the
54same database; individual jobs may be targeted at a particular host, or left
55for execution by any host. Locking prevents execution of the same instance of a
56job by multiple hosts.</p>
57<section id="database-setup">
58<h2>Database setup<a class="headerlink" href="#database-setup" title="Link to this heading">¶</a></h2>
59<p>Before using pgAdmin to manage pgAgent, you must create the pgAgent extension in
60the maintenance database registered with pgAdmin. To install pgAgent on a
61PostgreSQL host, connect to the <em>postgres</em> database, and navigate through the
62<em>Tools</em> menu to open the Query tool. For server versions 9.1 or later, and
63pgAgent 3.4.0 or later, enter the following command in the query window, and
64click the <em>Execute</em> icon:</p>
65<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="n">EXTENSION</span><span class="w"> </span><span class="n">pgagent</span><span class="p">;</span>
66</pre></div>
67</div>
68<p>This command will create a number of tables and other objects in a schema
69called ‘pgagent’.</p>
70<p>The database must also have the pl/pgsql procedural language installed - use
71the PostgreSQL CREATE LANGUAGE command to install pl/pgsql if necessary. To
72install pl/pgsql, enter the following command in the query window, and click
73the <em>Execute</em> icon:</p>
74<div class="highlight-sql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">LANGUAGE</span><span class="w"> </span><span class="n">plpgsql</span><span class="p">;</span>
75</pre></div>
76</div>
77</section>
78<section id="daemon-installation-on-unix">
79<h2>Daemon installation on Unix<a class="headerlink" href="#daemon-installation-on-unix" title="Link to this heading">¶</a></h2>
80<div class="admonition note">
81<p class="admonition-title">Note</p>
82<p>pgAgent is available in Debian/Ubuntu (DEB) and Redhat/Fedora (RPM)
83packages for Linux users, as well as source code. See the
84<a class="reference external" href="https://www.pgadmin.org/download/">pgAdmin Website</a>. for more
85information.</p>
86</div>
87<p>To install the pgAgent daemon on a Unix system, you will normally need to have
88root privileges to modify the system startup scripts. Modifying system startup
89scripts is quite system-specific so you should consult your system documentation
90for further information.</p>
91<p>The program itself takes few command line options, most of which are only
92needed for debugging or specialised configurations:</p>
93<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Usage</span><span class="p">:</span>
94 <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">pgagent</span> <span class="p">[</span><span class="n">options</span><span class="p">]</span> <span class="o"><</span><span class="n">connect</span><span class="o">-</span><span class="n">string</span><span class="o">></span>
95
96<span class="n">options</span><span class="p">:</span>
97 <span class="o">-</span><span class="n">f</span> <span class="n">run</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">foreground</span> <span class="p">(</span><span class="n">do</span> <span class="ow">not</span> <span class="n">detach</span> <span class="kn">from</span> <span class="nn">the</span> <span class="n">terminal</span><span class="p">)</span>
98 <span class="o">-</span><span class="n">t</span> <span class="o"><</span><span class="n">poll</span> <span class="n">time</span> <span class="n">interval</span> <span class="ow">in</span> <span class="n">seconds</span> <span class="p">(</span><span class="n">default</span> <span class="mi">10</span><span class="p">)</span><span class="o">></span>
99 <span class="o">-</span><span class="n">r</span> <span class="o"><</span><span class="n">retry</span> <span class="n">period</span> <span class="n">after</span> <span class="n">connection</span> <span class="n">abort</span> <span class="ow">in</span> <span class="n">seconds</span> <span class="p">(</span><span class="o">>=</span><span class="mi">10</span><span class="p">,</span> <span class="n">default</span> <span class="mi">30</span><span class="p">)</span><span class="o">></span>
100 <span class="o">-</span><span class="n">s</span> <span class="o"><</span><span class="n">log</span> <span class="n">file</span> <span class="p">(</span><span class="n">messages</span> <span class="n">are</span> <span class="n">logged</span> <span class="n">to</span> <span class="n">STDOUT</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">specified</span><span class="p">)</span><span class="o">></span>
101 <span class="o">-</span><span class="n">l</span> <span class="o"><</span><span class="n">logging</span> <span class="n">verbosity</span> <span class="p">(</span><span class="n">ERROR</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">WARNING</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">DEBUG</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">default</span> <span class="mi">0</span><span class="p">)</span><span class="o">></span>
102</pre></div>
103</div>
104<p>The connection string is a standard PostgreSQL libpq connection string (see
105the <a class="reference external" href="https://www.postgresql.org/docs/current/libpq.html#libpq-connect">PostgreSQL documentation on the connection string</a>
106for further details). For example, the following command line will run pgAgent
107against a server listening on the localhost, using a database called ‘pgadmin’,
108connecting as the user ‘postgres’:</p>
109<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>/path/to/pgagent<span class="w"> </span><span class="nv">hostaddr</span><span class="o">=</span><span class="m">127</span>.0.0.1<span class="w"> </span><span class="nv">dbname</span><span class="o">=</span>postgres<span class="w"> </span><span class="nv">user</span><span class="o">=</span>postgres
110</pre></div>
111</div>
112</section>
113<section id="service-installation-on-windows">
114<h2>Service installation on Windows<a class="headerlink" href="#service-installation-on-windows" title="Link to this heading">¶</a></h2>
115<div class="admonition note">
116<p class="admonition-title">Note</p>
117<p>pgAgent is available in a pre-built installer if you use
118<a class="reference external" href="https://www.enterprisedb.com/downloads/postgres-postgresql-downloads">EnterpriseDB’s PostgreSQL Installers</a>.
119Use the StackBuilder application to download and install it. If installed
120in this way, the service will automatically be created and the instructions
121below can be ignored.</p>
122</div>
123<p>pgAgent can install itself as a service on Windows systems. The command line
124options available are similar to those on Unix systems, but include an
125additional parameter to tell the service what to do:</p>
126<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Usage</span><span class="p">:</span>
127 <span class="n">pgAgent</span> <span class="n">REMOVE</span> <span class="o"><</span><span class="n">serviceName</span><span class="o">></span>
128 <span class="n">pgAgent</span> <span class="n">INSTALL</span> <span class="o"><</span><span class="n">serviceName</span><span class="o">></span> <span class="p">[</span><span class="n">options</span><span class="p">]</span> <span class="o"><</span><span class="n">connect</span><span class="o">-</span><span class="n">string</span><span class="o">></span>
129 <span class="n">pgAgent</span> <span class="n">DEBUG</span> <span class="p">[</span><span class="n">options</span><span class="p">]</span> <span class="o"><</span><span class="n">connect</span><span class="o">-</span><span class="n">string</span><span class="o">></span>
130
131 <span class="n">options</span><span class="p">:</span>
132 <span class="o">-</span><span class="n">u</span> <span class="o"><</span><span class="n">user</span> <span class="ow">or</span> <span class="n">DOMAIN</span>\<span class="n">user</span><span class="o">></span>
133 <span class="o">-</span><span class="n">p</span> <span class="o"><</span><span class="n">password</span><span class="o">></span>
134 <span class="o">-</span><span class="n">d</span> <span class="o"><</span><span class="n">displayname</span><span class="o">></span>
135 <span class="o">-</span><span class="n">t</span> <span class="o"><</span><span class="n">poll</span> <span class="n">time</span> <span class="n">interval</span> <span class="ow">in</span> <span class="n">seconds</span> <span class="p">(</span><span class="n">default</span> <span class="mi">10</span><span class="p">)</span><span class="o">></span>
136 <span class="o">-</span><span class="n">r</span> <span class="o"><</span><span class="n">retry</span> <span class="n">period</span> <span class="n">after</span> <span class="n">connection</span> <span class="n">abort</span> <span class="ow">in</span> <span class="n">seconds</span> <span class="p">(</span><span class="o">>=</span><span class="mi">10</span><span class="p">,</span> <span class="n">default</span> <span class="mi">30</span><span class="p">)</span><span class="o">></span>
137 <span class="o">-</span><span class="n">l</span> <span class="o"><</span><span class="n">logging</span> <span class="n">verbosity</span> <span class="p">(</span><span class="n">ERROR</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">WARNING</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">DEBUG</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">default</span> <span class="mi">0</span><span class="p">)</span><span class="o">></span>
138</pre></div>
139</div>
140<p>The service may be quite simply installed from the command line as follows
141(adjust the path as required):</p>
142<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="s2">"C:\Program Files\pgAgent\bin\pgAgent"</span><span class="w"> </span>INSTALL<span class="w"> </span>pgAgent<span class="w"> </span>-u<span class="w"> </span>postgres<span class="w"> </span>-p<span class="w"> </span>secret<span class="w"> </span><span class="nv">hostaddr</span><span class="o">=</span><span class="m">127</span>.0.0.1<span class="w"> </span><span class="nv">dbname</span><span class="o">=</span>postgres<span class="w"> </span><span class="nv">user</span><span class="o">=</span>postgres
143</pre></div>
144</div>
145<p>You can then start the service at the command line using <em>net start pgAgent</em>,
146or from the <em>Services</em> control panel applet. Any logging output or errors will
147be reported in the Application event log. The DEBUG mode may be used to run
148pgAgent from a command prompt. When run this way, log messages will output to
149the command window.</p>
150</section>
151</section>
152
153
154 <div class="clearer"></div>
155 </div>
156 </div>
157 </div>
158 <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
159 <div class="sphinxsidebarwrapper">
160 <div>
161 <h3><a href="index.html">Table of Contents</a></h3>
162 <ul>
163<li><a class="reference internal" href="#">Installing pgAgent</a><ul>
164<li><a class="reference internal" href="#database-setup">Database setup</a></li>
165<li><a class="reference internal" href="#daemon-installation-on-unix">Daemon installation on Unix</a></li>
166<li><a class="reference internal" href="#service-installation-on-windows">Service installation on Windows</a></li>
167</ul>
168</li>
169</ul>
170
171 </div>
172<h3><a href="index.html">Table of Contents</a></h3>
173<ul class="current">
174<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting Started</a></li>
175<li class="toctree-l1"><a class="reference internal" href="external_database.html">External database for pgAdmin user settings</a></li>
176<li class="toctree-l1"><a class="reference internal" href="connecting.html">Connecting To A Server</a></li>
177<li class="toctree-l1"><a class="reference internal" href="managing_cluster_objects.html">Managing Cluster Objects</a></li>
178<li class="toctree-l1"><a class="reference internal" href="managing_database_objects.html">Managing Database Objects</a></li>
179<li class="toctree-l1"><a class="reference internal" href="modifying_tables.html">Creating or Modifying a Table</a></li>
180<li class="toctree-l1"><a class="reference internal" href="management_basics.html">Management Basics</a></li>
181<li class="toctree-l1"><a class="reference internal" href="backup_and_restore.html">Backup and Restore</a></li>
182<li class="toctree-l1"><a class="reference internal" href="developer_tools.html">Developer Tools</a></li>
183<li class="toctree-l1"><a class="reference internal" href="processes.html">Processes</a></li>
184<li class="toctree-l1 current"><a class="reference internal" href="pgagent.html">pgAgent</a><ul class="current">
185<li class="toctree-l2"><a class="reference internal" href="using_pgagent.html">Using pgAgent</a></li>
186<li class="toctree-l2 current"><a class="current reference internal" href="#">Installing pgAgent</a></li>
187<li class="toctree-l2"><a class="reference internal" href="pgagent_jobs.html">Creating a pgAgent Job</a></li>
188</ul>
189</li>
190<li class="toctree-l1"><a class="reference internal" href="contributions.html">pgAdmin Project Contributions</a></li>
191<li class="toctree-l1"><a class="reference internal" href="release_notes.html">Release Notes</a></li>
192<li class="toctree-l1"><a class="reference internal" href="licence.html">Licence</a></li>
193</ul>
194
195<search id="searchbox" style="display: none" role="search">
196 <h3 id="searchlabel">Quick search</h3>
197 <div class="searchformwrapper">
198 <form class="search" action="search.html" method="get">
199 <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
200 <input type="submit" value="Go" />
201 </form>
202 </div>
203</search>
204<script>document.getElementById('searchbox').style.display = "block"</script>
205 </div>
206<div id="sidebarbutton" title="Collapse sidebar">
207<span>«</span>
208</div>
209
210 </div>
211 <div class="clearer"></div>
212 </div>
213 <div class="related" role="navigation" aria-label="related navigation">
214 <h3>Navigation</h3>
215 <ul>
216 <li class="right" style="margin-right: 10px">
217 <a href="genindex.html" title="General Index"
218 >index</a></li>
219 <li class="right" >
220 <a href="pgagent_jobs.html" title="Creating a pgAgent Job"
221 >next</a> |</li>
222 <li class="right" >
223 <a href="using_pgagent.html" title="Using pgAgent"
224 >previous</a> |</li>
225 <li class="nav-item nav-item-0"><a href="index.html">pgAdmin 4 8.6 documentation</a> »</li>
226 <li class="nav-item nav-item-1"><a href="pgagent.html" >pgAgent</a> »</li>
227 <li class="nav-item nav-item-this"><a href="">Installing pgAgent</a></li>
228 </ul>
229 </div>
230 <div class="footer" role="contentinfo">
231 <div class="related" role="navigation" aria-label="related navigation">
232 <ul>
233 <li class="left" style="margin-left: 10px">© Copyright (C) 2013 - 2024, The pgAdmin Development Team.</li>
234 <li class="right" style="margin-right: 10px"><a href="genindex.html" title="General Index" accesskey="I">index</a></li>
235 <li class="right" ><a href="pgagent_jobs.html" title="Creating a pgAgent Job" accesskey="N">next</a> |</li>
236 <li class="right" ><a href="using_pgagent.html" title="Using pgAgent" accesskey="P">previous</a> |</li>
237 </ul>
238 </div>
239 </div>
240 </body>
241</html>