source: server/databases/postgresql.xml@ 106a055

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 106a055 was 106a055, checked in by Bruce Dubbs <bdubbs@…>, 18 months ago

Update to postgresql-15.1.

  • Property mode set to 100644
File size: 35.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY postgresql-download-http "https://ftp.postgresql.org/pub/source/v&postgresql-version;/postgresql-&postgresql-version;.tar.bz2">
8 <!-- <!ENTITY postgresql-download-ftp "ftp://ftp.postgresql.org/pub/source/v&postgresql-version;/postgresql-&postgresql-version;.tar.bz2"> -->
9 <!ENTITY postgresql-download-ftp " ">
10 <!ENTITY postgresql-md5sum "c13793104f39eaae52a410c96f9f4e06">
11 <!ENTITY postgresql-size "21.6 MB">
12 <!ENTITY postgresql-buildsize "209 MB (add 42 MB for tests)">
13 <!ENTITY postgresql-time "0.6 SBU (with parallelism=4, add 0.1 SBU for tests)">
14]>
15
16<sect1 id="postgresql" xreflabel="PostgreSQL-&postgresql-version;">
17 <?dbhtml filename="postgresql.html"?>
18
19 <sect1info>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>PostgreSQL-&postgresql-version;</title>
24
25 <indexterm zone="postgresql">
26 <primary sortas="a-PostgreSQL">PostgreSQL</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to PostgreSQL</title>
31
32 <para>
33 <application>PostgreSQL</application> is an advanced
34 object-relational database management system (ORDBMS), derived
35 from the Berkeley Postgres database management system.
36 </para>
37
38 &lfs112_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&postgresql-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&postgresql-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &postgresql-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &postgresql-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &postgresql-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &postgresql-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">PostgreSQL Dependencies</bridgehead>
75
76 <bridgehead renderas="sect4">Optional</bridgehead>
77 <para role="optional">
78 <!-- <xref linkend="tcl"/>, (is in LFS core) -->
79 <xref linkend="icu"/>,
80 <xref linkend="libxml2"/>,
81 <xref linkend="libxslt"/>,
82 <xref linkend="openldap"/>,
83 <xref linkend="linux-pam"/>,
84 <xref linkend="mitkrb"/> and
85 <ulink url="https://developer.apple.com/bonjour/">Bonjour</ulink>
86 </para>
87
88 <bridgehead renderas="sect4">Optional (To Regenerate Documentation)</bridgehead>
89 <para role="optional">
90 <xref linkend="fop"/>,
91 <xref linkend="sgml-dtd"/>,
92 <xref linkend="docbook-dsssl"/>,
93 <xref linkend="docbook-utils"/>,
94 <xref linkend="openjade"/>, and
95 <xref linkend="perl-sgmlspm"/>
96 </para>
97
98 <para condition="html" role="usernotes">User Notes:
99 <ulink url="&blfs-wiki;/postgresql"/></para>
100
101 </sect2>
102
103 <sect2 role="installation">
104 <title>Installation of PostgreSQL</title>
105
106 <para>
107 For enhanced security, it is better to have a dedicated group and user
108 for running the PostgreSQL server. First, issue as the
109 <systemitem class="username">root</systemitem> user:
110 </para>
111
112<screen role="root"><userinput>groupadd -g 41 postgres &amp;&amp;
113useradd -c "PostgreSQL Server" -g postgres -d /srv/pgsql/data \
114 -u 41 postgres</userinput></screen>
115
116 <note>
117 <para>
118 There are several configuration items that add additional
119 functionality with optional packages to
120 <application>PostgreSQL</application>. Use <command>./configure
121 --help</command> to see a list.
122 </para>
123 </note>
124
125 <para>
126 Install <application>PostgreSQL</application> with the
127 following commands:
128 </para>
129
130<screen><userinput>sed -i '/DEFAULT_PGSOCKET_DIR/s@/tmp@/run/postgresql@' src/include/pg_config_manual.h &amp;&amp;
131
132./configure --prefix=/usr \
133 --enable-thread-safety \
134 --docdir=/usr/share/doc/postgresql-&postgresql-version; &amp;&amp;
135make</userinput></screen>
136
137 <para>
138 There are a number of programs in the
139 <filename class="directory">contrib/</filename> directory. If you are
140 going to run this installation as a server and wish to build some of
141 them, enter <command>make -C contrib</command> or <command>make -C
142 contrib/<replaceable>&lt;SUBDIR-NAME&gt;</replaceable></command> for
143 each subdirectory.
144 </para>
145
146 <para>
147 Tests must be run as an unprivileged user because they need to start a
148 temporary server and this is prevented as the root user. For the same
149 reason, you need to stop all PostgreSQL servers if any are running. If a
150 previous version of PostgreSQL is installed, it may be necessary to use
151 <command>--disable-rpath</command> with <command>configure</command> to
152 avoid failures, but <emphasis>installing the binaries created using this
153 switch is not recommended</emphasis>. To test the results, issue:
154 <command>make check</command>.
155 </para>
156
157 <note>
158 <para>If you are installing <application>PostgreSQL</application> to
159 upgrade an existing installation, there are important steps that you need
160 to follow. If the major version of the new build is greater than the
161 previous version, there is a chance that the data file format has changed.
162 new software cannot act on the existing data files. In this case, the
163 server will not start because the old programs have been overwritten, so
164 the data is unavailable until it's file format has been converted.</para>
165
166 <para>
167 Before upgrading an existing installation of PostgreSQL, check
168 the documentation for any considerations that you must keep in mind
169 during the upgrade. Note that new major versions might use a different
170 binary format in the data objects, causing potential incompatibilities.
171 For more information, check out upstream's documentation about
172 upgrading PostgreSQL here.
173 <ulink url="https://www.postgresql.org/docs/current/upgrading.html"/>.
174 </para>
175
176 <para>At this point, you may have both the old and the new binaries
177 installed on your filesystem. These binaries can be used to perform an
178 upgrade of your existing database files. For the following instructions
179 it is assumed that
180 <itemizedlist>
181 <listitem><para>The actual data files are stored in
182 <filename class="directory">/srv/pgsql/data</filename></para>
183 </listitem>
184 <listitem><para>The upgraded data files will be stored in
185 <filename class="directory">/srv/pgsql/newdata</filename></para>
186 </listitem>
187 <listitem><para>There is enough disk space to hold the actual
188 data files twice. The upgrade is not an inline upgrade but
189 it will copy the data to new database files.</para>
190 </listitem>
191 </itemizedlist>
192 </para>
193
194 <para>Fist, do a temporary install which makes access to the new
195 binaries much easier:</para>
196<screen role="nodump"><userinput>make DESTDIR=$(pwd)/DESTDIR install</userinput></screen>
197
198 <para>Next, create a directory which is writable by the
199 <systemitem class="username">postgres</systemitem> user, as the
200 <systemitem class="username">root</systemitem> user:</para>
201
202<screen role="nodump"><userinput>install -d -o postgres $(pwd)/DESTDIR/tmp</userinput></screen>
203
204 <para>Now, stop the existing instance of <application>PostgreSQL</application>
205 and start the upgrade process as the
206 <systemitem class="username">root</systemitem> user:</para>
207
208<screen revision="sysv" role="nodump"><userinput>pushd $(pwd)/DESTDIR/tmp
209/etc/rc.d/init.d/postgresql stop
210su postgres -c "../usr/bin/initdb -D /srv/pgsql/newdata"
211su postgres -c "../usr/bin/pg_upgrade \
212 -d /srv/pgsql/data -b /usr/bin \
213 -D /srv/pgsql/newdata -B ../usr/bin"
214popd</userinput></screen>
215
216<screen revision="systemd" role="nodump"><userinput>pushd $(pwd)/DESTDIR/tmp
217systemctl stop postgresql
218su postgres -c "../usr/bin/initdb -D /srv/pgsql/newdata"
219su postgres -c "../usr/bin/pg_upgrade \
220 -d /srv/pgsql/data -b /usr/bin \
221 -D /srv/pgsql/newdata -B ../usr/bin"
222popd</userinput></screen>
223
224 <para>At this point, your database files available in two locations on
225 disk. The old data is located in
226 <filename class="directory">/srv/pgsql/data</filename>, and the new data
227 is in <filename class="directory">/srv/pgsql/newdata</filename>.
228 Backing up the old database files is suggested before continuing.</para>
229
230 <para>Next, remove the old database files, and rename the new data
231 directory as the <systemitem class="username">root</systemitem> user:</para>
232
233<screen role="nodump"><userinput>rm -rf /srv/pgsql/data
234mv /srv/pgsql/newdata /srv/pgsql/data</userinput></screen>
235
236 </note>
237
238 <para>
239 Now, as the <systemitem class="username">root</systemitem> user:
240 </para>
241
242<screen role="root"><userinput>make install &amp;&amp;
243make install-docs</userinput></screen>
244
245 <para>
246 If you made any of the <filename class="directory">contrib/</filename>
247 programs, as the <systemitem class="username">root</systemitem> user:
248 </para>
249
250<screen role="nodump"><userinput>make -C contrib/<replaceable>&lt;SUBDIR-NAME&gt;</replaceable> install</userinput></screen>
251
252 <tip>
253 <para>
254 If you only intend to use <application>PostgreSQL</application> as a
255 client to connect to a server on another machine, your installation is
256 complete and you should not run the remaining commands.
257 </para>
258 </tip>
259
260 <para>
261 If you have upgraded an existing database, skip the rest of the
262 commands because your database is ready to use. If this is the
263 first time you install <application>PostgreSQL</application>,
264 continue with the initialization.
265 </para>
266
267 <para>
268 Initialize a database cluster with the following commands issued by the
269 <systemitem class="username">root</systemitem> user:
270 </para>
271
272<screen role="root"><userinput>install -v -dm700 /srv/pgsql/data &amp;&amp;
273install -v -dm755 /run/postgresql &amp;&amp;
274chown -Rv postgres:postgres /srv/pgsql /run/postgresql</userinput></screen>
275
276 <para>
277 Now, initialize the database as the <systemitem
278 class="username">root</systemitem> user:
279 </para>
280
281<screen role="root"><userinput>su - postgres -c '/usr/bin/initdb -D /srv/pgsql/data'</userinput></screen>
282
283 </sect2>
284
285 <sect2 role="commands">
286 <title>Command Explanations</title>
287
288 <para>
289 <command>sed -i ...</command>: This sed changes the server socket location
290 from <filename class="directory">/tmp</filename> to
291 <filename class="directory">/run/postgresql</filename>.
292 </para>
293
294 <para>
295 <parameter>--enable-thread-safety</parameter>: This switch makes the
296 client libraries thread-safe by allowing concurrent threads in
297 <filename class="libraryfile">libpq</filename> and ECPG programs to
298 safely control their private connection handles.
299 </para>
300
301 <para>
302 <option>--with-openssl</option>: builds the package with support for
303 <application>OpenSSL</application> encrypted connections.
304 </para>
305
306 <para>
307 <option>--with-perl</option>: builds the PL/Perl server-side language.
308 </para>
309
310 <para>
311 <option>--with-python</option>: builds the PL/Python server-side
312 language. Python3 is used by default, Python2 is no longer supported.
313 </para>
314
315 <para>
316 <option>--with-tcl</option>: builds the PL/Tcl server-side language.
317 </para>
318
319 </sect2>
320
321 <sect2 role="configuration">
322 <title>Configuring PostgreSQL</title>
323
324 <sect3 id="postgresql-config">
325 <title>Config Files</title>
326
327 <para>
328 <filename>$PGDATA/pg_ident.con</filename>,
329 <filename>$PGDATA/pg_hba.conf</filename>, and
330 <filename>$PGDATA/postgresql.conf</filename>
331 </para>
332
333 <indexterm zone="postgresql postgresql-config">
334 <primary sortas="e-A.PGDATA-pg_ident.con">$PGDATA/pg_indent.con</primary>
335 </indexterm>
336
337 <indexterm zone="postgresql postgresql-config">
338 <primary sortas="e-A.PGDATA-pg_hba.conf">$PGDATA/pg_hba_conf</primary>
339 </indexterm>
340
341 <indexterm zone="postgresql postgresql-config">
342 <primary sortas="e-A.PGDATA-postgresql.conf">$PGDATA/postgresql.conf</primary>
343 </indexterm>
344
345 <para>
346 The <envar>PGDATA</envar> environment variable is used to
347 distinguish database clusters from one another by setting it to
348 the value of the directory which contains the cluster desired.
349 The three configuration files exist in every <filename
350 class="directory">PGDATA/</filename> directory. Details on the
351 format of the files and the options that can be set in each can
352 be found in <filename>
353 /usr/share/doc/postgresql-&postgresql-version;/html/index.html</filename>.
354 </para>
355
356 </sect3>
357
358 <sect3 id="postgresql-init">
359 <title><phrase revision="sysv">Boot Script</phrase>
360 <phrase revision="systemd">Systemd Unit</phrase></title>
361
362 <para>
363 Install the
364 <phrase revision="sysv"><filename>/etc/rc.d/init.d/postgresql</filename>
365 init script</phrase>
366 <phrase revision="systemd"><filename>postgresql.service</filename>
367 unit</phrase> included in the
368 <xref linkend="bootscripts" revision="sysv"/>
369 <xref linkend="systemd-units" revision="systemd"/> package:
370 </para>
371
372 <indexterm zone="postgresql postgresql-init">
373 <primary sortas="f-postgresql">postgresql</primary>
374 </indexterm>
375
376<screen role="root"><userinput>make install-postgresql</userinput></screen>
377
378 </sect3>
379
380 <sect3>
381 <title>Starting the PostgreSQL Server and Creating a Sample Database</title>
382
383 <para>
384 The database server can be manually started with the following command
385 (as the <systemitem class="username">root</systemitem> user):
386 </para>
387
388<screen role="root"><userinput>su - postgres -c '/usr/bin/postgres -D /srv/pgsql/data > \
389 /srv/pgsql/data/logfile 2&gt;&amp;1 &amp;'</userinput></screen>
390 <note>
391 <para>
392 If you are scripting this part, you should wait for the server to
393 start before going on, by adding for example
394 <command>sleep 2</command> after the above command.
395 </para>
396 </note>
397
398 <para>
399 The instructions below show how to create a database, add a table to
400 it, insert some rows into the table and select them, to verify that the
401 installation is working properly. Still as user <systemitem
402 class="username">root</systemitem>, issue:
403 </para>
404
405<screen role="root"><userinput>su - postgres -c '/usr/bin/createdb test' &amp;&amp;
406echo "create table t1 ( name varchar(20), state_province varchar(20) );" \
407 | (su - postgres -c '/usr/bin/psql test ') &amp;&amp;
408echo "insert into t1 values ('Billy', 'NewYork');" \
409 | (su - postgres -c '/usr/bin/psql test ') &amp;&amp;
410echo "insert into t1 values ('Evanidus', 'Quebec');" \
411 | (su - postgres -c '/usr/bin/psql test ') &amp;&amp;
412echo "insert into t1 values ('Jesse', 'Ontario');" \
413 | (su - postgres -c '/usr/bin/psql test ') &amp;&amp;
414echo "select * from t1;" | (su - postgres -c '/usr/bin/psql test')</userinput></screen>
415
416 <para>
417 When you are done with testing, you can shut down the server, by
418 issuing as <systemitem class="username">root</systemitem>:
419 </para>
420
421<screen role="root"><userinput>su - postgres -c "/usr/bin/pg_ctl stop -D /srv/pgsql/data"</userinput></screen>
422
423 </sect3>
424
425 </sect2>
426
427 <sect2 role="content">
428 <title>Contents</title>
429
430 <segmentedlist>
431 <segtitle>Installed Programs</segtitle>
432 <segtitle>Installed Libraries</segtitle>
433 <segtitle>Installed Directories</segtitle>
434
435 <seglistitem>
436 <seg>
437 clusterdb, createdb, createuser, dropdb, dropuser,
438 ecpg, initdb, pg_amcheck, pg_archivecleanup, pg_basebackup,
439 pg_checksums,
440 pg_config, pg_controldata, pg_ctl, pg_dump, pg_dumpall, pg_isready,
441 pg_receivewal, pg_recvlogical, pg_resetwal, pg_restore, pg_rewind,
442 pg_test_fsync, pg_test_timing, pg_upgrade, pg_verifybackup,
443 pg_waldump, pgbench,
444 postgres, postmaster (deprecated), psql, reindexdb, vacuumdb,
445 optionally, if Tcl support has been built, pltcl_delmod,
446 pltcl_listmod, pltcl_loadmod, and optionally (in contrib/) oid2name,
447 pg_standby, vacuumlo, and many others
448
449 </seg>
450 <seg>
451 libecpg.{so,a}, libecpg_compat.{so,a}, libpgcommon.a,
452 libpgcommon_shlib.a, libpgfeutils.a, libpgport.a, libpgport_shlib.a,
453 libpgtypes.{so,a}, libpq.{so,a}, various charset modules and
454 optionally programming language modules under /usr/lib/postgresql
455 </seg>
456 <seg>
457 /usr/include/{libpq,postgresql},
458 /usr/lib/postgresql,
459 /usr/share/{doc/postgresql-&postgresql-version;,postgresql}, and
460 /srv/pgsql
461 </seg>
462 </seglistitem>
463 </segmentedlist>
464
465 <variablelist>
466 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
467 <?dbfo list-presentation="list"?>
468 <?dbhtml list-presentation="table"?>
469
470 <varlistentry id="clusterdb">
471 <term><command>clusterdb</command></term>
472 <listitem>
473 <para>
474 is a utility for reclustering tables in a
475 <application>PostgreSQL</application> database
476 </para>
477 <indexterm zone="postgresql clusterdb">
478 <primary sortas="b-clusterdb">clusterdb</primary>
479 </indexterm>
480 </listitem>
481 </varlistentry>
482
483 <varlistentry id="createdb">
484 <term><command>createdb</command></term>
485 <listitem>
486 <para>
487 creates a new <application>PostgreSQL</application>
488 database
489 </para>
490 <indexterm zone="postgresql createdb">
491 <primary sortas="b-createdb">createdb</primary>
492 </indexterm>
493 </listitem>
494 </varlistentry>
495
496 <varlistentry id="createuser">
497 <term><command>createuser</command></term>
498 <listitem>
499 <para>
500 defines a new <application>PostgreSQL</application>
501 user account
502 </para>
503 <indexterm zone="postgresql createuser">
504 <primary sortas="b-createuser">createuser</primary>
505 </indexterm>
506 </listitem>
507 </varlistentry>
508
509 <varlistentry id="dropdb">
510 <term><command>dropdb</command></term>
511 <listitem>
512 <para>
513 removes a <application>PostgreSQL</application> database
514 </para>
515 <indexterm zone="postgresql dropdb">
516 <primary sortas="b-dropdb">dropdb</primary>
517 </indexterm>
518 </listitem>
519 </varlistentry>
520
521 <varlistentry id="dropuser">
522 <term><command>dropuser</command></term>
523 <listitem>
524 <para>
525 removes a <application>PostgreSQL</application> user account
526 </para>
527 <indexterm zone="postgresql dropuser">
528 <primary sortas="b-dropuser">dropuser</primary>
529 </indexterm>
530 </listitem>
531 </varlistentry>
532
533 <varlistentry id="ecpg">
534 <term><command>ecpg</command></term>
535 <listitem>
536 <para>
537 is the embedded SQL preprocessor
538 </para>
539 <indexterm zone="postgresql ecpg">
540 <primary sortas="b-ecpg">ecpg</primary>
541 </indexterm>
542 </listitem>
543 </varlistentry>
544
545 <varlistentry id="initdb">
546 <term><command>initdb</command></term>
547 <listitem>
548 <para>
549 creates a new database cluster
550 </para>
551 <indexterm zone="postgresql initdb">
552 <primary sortas="b-initdb">initdb</primary>
553 </indexterm>
554 </listitem>
555 </varlistentry>
556
557 <varlistentry id="oid2name">
558 <term><command>oid2name</command></term>
559 <listitem>
560 <para>
561 resolves OIDs (Object IDs) and file nodes in a PostgreSQL data
562 directory
563 </para>
564 <indexterm zone="postgresql oid2name">
565 <primary sortas="b-oid2name">oid2name</primary>
566 </indexterm>
567 </listitem>
568 </varlistentry>
569
570 <varlistentry id="pg_amcheck">
571 <term><command>pg_amcheck</command></term>
572 <listitem>
573 <para>
574 checks for corruption in one or more PostgreSQL databases
575 </para>
576 <indexterm zone="postgresql pg_amcheck">
577 <primary sortas="b-pg_amcheck">pg_amcheck</primary>
578 </indexterm>
579 </listitem>
580 </varlistentry>
581
582 <varlistentry id="pg_archivecleanup">
583 <term><command>pg_archivecleanup</command></term>
584 <listitem>
585 <para>
586 cleans up PostgreSQL WAL (write-ahead log) archive files
587 </para>
588 <indexterm zone="postgresql pg_archivecleanup">
589 <primary sortas="b-pg_archivecleanup">pg_archivecleanup</primary>
590 </indexterm>
591 </listitem>
592 </varlistentry>
593
594 <varlistentry id="pg_basebackup">
595 <term><command>pg_basebackup</command></term>
596 <listitem>
597 <para>
598 takes base backups of a running
599 <application>PostgreSQL</application> cluster
600 </para>
601 <indexterm zone="postgresql pg_basebackup">
602 <primary sortas="b-pg_basebackup">pg_basebackup</primary>
603 </indexterm>
604 </listitem>
605 </varlistentry>
606
607 <varlistentry id="pg_checksums">
608 <term><command>pg_checksums</command></term>
609 <listitem>
610 <para>
611 enables, disables, or checks data checksums in a
612 <application>PostgreSQL</application> database cluster
613 </para>
614 <indexterm zone="postgresql pg_checksums">
615 <primary sortas="b-pg_checksums">pg_checksums</primary>
616 </indexterm>
617 </listitem>
618 </varlistentry>
619
620 <varlistentry id="pg_config">
621 <term><command>pg_config</command></term>
622 <listitem>
623 <para>
624 retrieves <application>PostgreSQL</application> version
625 information
626 </para>
627 <indexterm zone="postgresql pg_config">
628 <primary sortas="b-pg_config">pg_config</primary>
629 </indexterm>
630 </listitem>
631 </varlistentry>
632
633 <varlistentry id="pg_controldata">
634 <term><command>pg_controldata</command></term>
635 <listitem>
636 <para>
637 returns information initialized during <command>initdb</command>,
638 such as the catalog version and server locale
639 </para>
640 <indexterm zone="postgresql pg_controldata">
641 <primary sortas="b-pg_controldata">pg_controldata</primary>
642 </indexterm>
643 </listitem>
644 </varlistentry>
645
646 <varlistentry id="pg_ctl">
647 <term><command>pg_ctl</command></term>
648 <listitem>
649 <para>
650 controls stopping and starting the database server
651 </para>
652 <indexterm zone="postgresql pg_ctl">
653 <primary sortas="b-pg_ctl">pg_ctl</primary>
654 </indexterm>
655 </listitem>
656 </varlistentry>
657
658 <varlistentry id="pg_dump">
659 <term><command>pg_dump</command></term>
660 <listitem>
661 <para>
662 dumps database data and metadata into scripts which are used
663 to recreate the database
664 </para>
665 <indexterm zone="postgresql pg_dump">
666 <primary sortas="b-pg_dump">pg_dump</primary>
667 </indexterm>
668 </listitem>
669 </varlistentry>
670
671 <varlistentry id="pg_dumpall">
672 <term><command>pg_dumpall</command></term>
673 <listitem>
674 <para>
675 recursively calls <command>pg_dump</command> for each
676 database in a cluster
677 </para>
678 <indexterm zone="postgresql pg_dumpall">
679 <primary sortas="b-pg_dumpall">pg_dumpall</primary>
680 </indexterm>
681 </listitem>
682 </varlistentry>
683
684 <varlistentry id="pg_isready">
685 <term><command>pg_isready</command></term>
686 <listitem>
687 <para>
688 checks the connection status of a PostgreSQL server
689 </para>
690 <indexterm zone="postgresql pg_isready">
691 <primary sortas="b-pg_isready">pg_isready</primary>
692 </indexterm>
693 </listitem>
694 </varlistentry>
695
696 <varlistentry id="pg_receivewal">
697 <term><command>pg_receivewal</command></term>
698 <listitem>
699 <para>
700 is used to stream write-ahead logs from a PostgreSQL server
701 </para>
702 <indexterm zone="postgresql pg_receivewal">
703 <primary sortas="b-pg_receivewal">pg_receivewal</primary>
704 </indexterm>
705 </listitem>
706 </varlistentry>
707
708 <varlistentry id="pg_recvlogical">
709 <term><command>pg_recvlogical</command></term>
710 <listitem>
711 <para>
712 controls PostgreSQL logical decoding streams
713 </para>
714 <indexterm zone="postgresql pg_recvlogical">
715 <primary sortas="b-pg_recvlogical">pg_recvlogical</primary>
716 </indexterm>
717 </listitem>
718 </varlistentry>
719
720 <varlistentry id="pg_resetwal">
721 <term><command>pg_resetwal</command></term>
722 <listitem>
723 <para>
724 resets the write-ahead log and other control information
725 of a PostgreSQL database cluster
726 </para>
727 <indexterm zone="postgresql pg_resetwal">
728 <primary sortas="b-pg_resetwal">pg_resetwal</primary>
729 </indexterm>
730 </listitem>
731 </varlistentry>
732
733 <varlistentry id="pg_restore">
734 <term><command>pg_restore</command></term>
735 <listitem>
736 <para>
737 creates databases from dump files created by
738 <command>pg_dump</command>
739 </para>
740 <indexterm zone="postgresql pg_restore">
741 <primary sortas="b-pg_restore">pg_restore</primary>
742 </indexterm>
743 </listitem>
744 </varlistentry>
745
746 <varlistentry id="pg_rewind">
747 <term><command>pg_rewind</command></term>
748 <listitem>
749 <para>
750 synchronizes a PostgreSQL data directory with another data
751 directory that was forked from the first one
752 </para>
753 <indexterm zone="postgresql pg_rewind">
754 <primary sortas="b-pg_rewind">pg_rewind</primary>
755 </indexterm>
756 </listitem>
757 </varlistentry>
758
759 <varlistentry id="pg_standby">
760 <term><command>pg_standby</command></term>
761 <listitem>
762 <para>
763 supports the creation of a PostgreSQL warm standby server
764 </para>
765 <indexterm zone="postgresql pg_standby">
766 <primary sortas="b-pg_standby">pg_standby</primary>
767 </indexterm>
768 </listitem>
769 </varlistentry>
770
771 <varlistentry id="pg_test_fsync">
772 <term><command>pg_test_fsync</command></term>
773 <listitem>
774 <para>
775 determines the fastest wal_sync method for PostgreSQL
776 </para>
777 <indexterm zone="postgresql pg_test_fsync">
778 <primary sortas="b-pg_test_fsync">pg_test_fsync</primary>
779 </indexterm>
780 </listitem>
781 </varlistentry>
782
783 <varlistentry id="pg_test_timing">
784 <term><command>pg_test_timing</command></term>
785 <listitem>
786 <para>
787 measures timing overhead
788 </para>
789 <indexterm zone="postgresql pg_test_timing">
790 <primary sortas="b-pg_test_timing">pg_test_timing</primary>
791 </indexterm>
792 </listitem>
793 </varlistentry>
794
795 <varlistentry id="pg_upgrade">
796 <term><command>pg_upgrade</command></term>
797 <listitem>
798 <para>
799 upgrades a PostgreSQL server instance
800 </para>
801 <indexterm zone="postgresql pg_upgrade">
802 <primary sortas="b-pg_upgrade">pg_upgrade</primary>
803 </indexterm>
804 </listitem>
805 </varlistentry>
806
807 <varlistentry id="pg_verifybackup">
808 <term><command>pg_verifybackup</command></term>
809 <listitem>
810 <para>
811 verifies the integrity of a base backup of a PostgreSQL cluster
812 </para>
813 <indexterm zone="postgresql pg_verifybackup">
814 <primary sortas="b-pg_upgrade">pg_verifybackup</primary>
815 </indexterm>
816 </listitem>
817 </varlistentry>
818
819 <varlistentry id="pg_waldump">
820 <term><command>pg_waldump</command></term>
821 <listitem>
822 <para>
823 displays a human-readable rendering of the write-ahead log of a
824 PostgreSQL database cluster
825 </para>
826 <indexterm zone="postgresql pg_waldump">
827 <primary sortas="b-pg_waldump">pg_waldump</primary>
828 </indexterm>
829 </listitem>
830 </varlistentry>
831
832 <varlistentry id="pgbench">
833 <term><command>pgbench</command></term>
834 <listitem>
835 <para>
836 runs a benchmark test on PostgreSQL
837 </para>
838 <indexterm zone="postgresql pgbench">
839 <primary sortas="b-pgbench">pgbench</primary>
840 </indexterm>
841 </listitem>
842 </varlistentry>
843
844 <varlistentry id="pltcl_delmod">
845 <term><command>pltcl_delmod</command></term>
846 <listitem>
847 <para>
848 is a support script used to delete a module from a
849 PL/<application>Tcl</application> table. The command
850 requires the
851 <ulink url="https://flightaware.github.io/Pgtcl/">Pgtcl</ulink>
852 package to be installed
853 </para>
854 <indexterm zone="postgresql pltcl_delmod">
855 <primary sortas="b-pltcl_delmod">pltcl_delmod</primary>
856 </indexterm>
857 </listitem>
858 </varlistentry>
859
860 <varlistentry id="pltcl_listmod">
861 <term><command>pltcl_listmod</command></term>
862 <listitem>
863 <para>
864 is a support script used to list the modules in a
865 PL/<application>Tcl</application> table. The command
866 requires the
867 <ulink url="https://flightaware.github.io/Pgtcl/">Pgtcl</ulink>
868 package to be installed
869 </para>
870 <indexterm zone="postgresql pltcl_listmod">
871 <primary sortas="b-pltcl_listmod">pltcl_listmod</primary>
872 </indexterm>
873 </listitem>
874 </varlistentry>
875
876 <varlistentry id="pltcl_loadmod">
877 <term><command>pltcl_loadmod</command></term>
878 <listitem>
879 <para>
880 is a support script used to load a module into a
881 PL/<application>Tcl</application> table. The command
882 requires the
883 <ulink url="https://flightaware.github.io/Pgtcl/">Pgtcl</ulink>
884 package to be installed too
885 </para>
886 <indexterm zone="postgresql pltcl_loadmod">
887 <primary sortas="b-pltcl_loadmod">pltcl_loadmod</primary>
888 </indexterm>
889 </listitem>
890 </varlistentry>
891
892 <varlistentry id="postgres">
893 <term><command>postgres</command></term>
894 <listitem>
895 <para>
896 is the PostgreSQL database server
897 </para>
898 <indexterm zone="postgresql postgres">
899 <primary sortas="b-postgres">postgres</primary>
900 </indexterm>
901 </listitem>
902 </varlistentry>
903
904 <varlistentry id="postmaster">
905 <term><command>postmaster</command></term>
906 <listitem>
907 <para>
908 (deprecated, a symlink to <command>postgres</command>) is a
909 multi-user database daemon
910 </para>
911 <indexterm zone="postgresql postmaster">
912 <primary sortas="b-postmaster">postmaster</primary>
913 </indexterm>
914 </listitem>
915 </varlistentry>
916
917 <varlistentry id="psql">
918 <term><command>psql</command></term>
919 <listitem>
920 <para>
921 is a console based database shell
922 </para>
923 <indexterm zone="postgresql psql">
924 <primary sortas="b-psql">psql</primary>
925 </indexterm>
926 </listitem>
927 </varlistentry>
928
929 <varlistentry id="reindexdb">
930 <term><command>reindexdb</command></term>
931 <listitem>
932 <para>
933 is a utility for rebuilding indexes in a database
934 </para>
935 <indexterm zone="postgresql reindexdb">
936 <primary sortas="b-reindexdb">reindexdb</primary>
937 </indexterm>
938 </listitem>
939 </varlistentry>
940
941 <varlistentry id="vacuumdb">
942 <term><command>vacuumdb</command></term>
943 <listitem>
944 <para>
945 compacts databases and generates statistics for the query analyzer
946 </para>
947 <indexterm zone="postgresql vacuumdb">
948 <primary sortas="b-vacuumdb">vacuumdb</primary>
949 </indexterm>
950 </listitem>
951 </varlistentry>
952
953 <varlistentry id="vacuumlo">
954 <term><command>vacuumlo</command></term>
955 <listitem>
956 <para>
957 removes orphaned large objects from a PostgreSQL database
958 </para>
959 <indexterm zone="postgresql vacuumlo">
960 <primary sortas="b-vacuumlo">vacuumlo</primary>
961 </indexterm>
962 </listitem>
963 </varlistentry>
964
965 <varlistentry id="libecpg">
966 <term><filename class="libraryfile">libecpg.{so,a}</filename></term>
967 <listitem>
968 <para>
969 contains functions to support embedded SQL in C programs
970 </para>
971 <indexterm zone="postgresql libecpg">
972 <primary sortas="c-libecpg">libecpg.{so,a}</primary>
973 </indexterm>
974 </listitem>
975 </varlistentry>
976
977 <varlistentry id="libecpg_compat">
978 <term><filename class="libraryfile">libecpg_compat.{so,a}</filename></term>
979 <listitem>
980 <para>
981 is the ecpg compatibility library
982 </para>
983 <indexterm zone="postgresql libecpg_compat">
984 <primary sortas="c-libecpg_compat">libecpg_compat.{so,a}</primary>
985 </indexterm>
986 </listitem>
987 </varlistentry>
988
989 <varlistentry id="libgport">
990 <term><filename class="libraryfile">libgport.a</filename></term>
991 <listitem>
992 <para>
993 is the port-specific subsystem of the Postgres backend
994 </para>
995 <indexterm zone="postgresql libgport">
996 <primary sortas="c-libgport">libgport.a</primary>
997 </indexterm>
998 </listitem>
999 </varlistentry>
1000
1001 <varlistentry id="libpgtypes">
1002 <term><filename class="libraryfile">libpgtypes.{so,a}</filename></term>
1003 <listitem>
1004 <para>
1005 contains functions for dealing with Postgres data types
1006 </para>
1007 <indexterm zone="postgresql libpgtypes">
1008 <primary sortas="c-libpgtypes">libpgtypes.{so,a}</primary>
1009 </indexterm>
1010 </listitem>
1011 </varlistentry>
1012
1013 <varlistentry id="libpq">
1014 <term><filename class="libraryfile">libpq.{so,a}</filename></term>
1015 <listitem>
1016 <para>
1017 is the C programmer's API to Postgres
1018 </para>
1019 <indexterm zone="postgresql libpq">
1020 <primary sortas="c-libpq">libpq.{so,a}</primary>
1021 </indexterm>
1022 </listitem>
1023 </varlistentry>
1024
1025 </variablelist>
1026
1027 </sect2>
1028
1029</sect1>
Note: See TracBrowser for help on using the repository browser.