@@ -1458,6 +1458,98 @@ The commands accepted in walsender mode are:
1458
1458
</para>
1459
1459
</listitem>
1460
1460
</varlistentry>
1461
+
1462
+ <varlistentry>
1463
+ <term>BASE_BACKUP <replaceable>options</><literal>;</><replaceable>label</></term>
1464
+ <listitem>
1465
+ <para>
1466
+ Instructs the server to start streaming a base backup.
1467
+ The system will automatically be put in backup mode with the label
1468
+ specified in <replaceable>label</> before the backup is started, and
1469
+ taken out of it when the backup is complete. The following options
1470
+ are accepted:
1471
+ <variablelist>
1472
+ <varlistentry>
1473
+ <term><literal>PROGRESS</></term>
1474
+ <listitem>
1475
+ <para>
1476
+ Request information required to generate a progress report. This will
1477
+ send back an approximate size in the header of each tablespace, which
1478
+ can be used to calculate how far along the stream is done. This is
1479
+ calculated by enumerating all the file sizes once before the transfer
1480
+ is even started, and may as such have a negative impact on the
1481
+ performance - in particular it may take longer before the first data
1482
+ is streamed. Since the database files can change during the backup,
1483
+ the size is only approximate and may both grow and shrink between
1484
+ the time of approximation and the sending of the actual files.
1485
+ </para>
1486
+ </listitem>
1487
+ </varlistentry>
1488
+ </variablelist>
1489
+ </para>
1490
+ <para>
1491
+ When the backup is started, the server will first send a header in
1492
+ ordinary result set format, followed by one or more CopyResponse
1493
+ results, one for PGDATA and one for each additional tablespace other
1494
+ than <literal>pg_default</> and <literal>pg_global</>. The data in
1495
+ the CopyResponse results will be a tar format (using ustar00
1496
+ extensions) dump of the tablespace contents.
1497
+ </para>
1498
+ <para>
1499
+ The header is an ordinary resultset with one row for each tablespace.
1500
+ The fields in this row are:
1501
+ <variablelist>
1502
+ <varlistentry>
1503
+ <term>spcoid</term>
1504
+ <listitem>
1505
+ <para>
1506
+ The oid of the tablespace, or <literal>NULL</> if it's the base
1507
+ directory.
1508
+ </para>
1509
+ </listitem>
1510
+ </varlistentry>
1511
+ <varlistentry>
1512
+ <term>spclocation</term>
1513
+ <listitem>
1514
+ <para>
1515
+ The full path of the tablespace directory, or <literal>NULL</>
1516
+ if it's the base directory.
1517
+ </para>
1518
+ </listitem>
1519
+ </varlistentry>
1520
+ <varlistentry>
1521
+ <term>size</term>
1522
+ <listitem>
1523
+ <para>
1524
+ The approximate size of the tablespace, if progress report has
1525
+ been requested; otherwise it's <literal>NULL</>.
1526
+ </para>
1527
+ </listitem>
1528
+ </varlistentry>
1529
+ </variablelist>
1530
+ </para>
1531
+ <para>
1532
+ The tar archive for the data directory and each tablespace will contain
1533
+ all files in the directories, regardless of whether they are
1534
+ <productname>PostgreSQL</> files or other files added to the same
1535
+ directory. The only excluded files are:
1536
+ <itemizedlist spacing="compact" mark="bullet">
1537
+ <listitem>
1538
+ <para>
1539
+ <filename>postmaster.pid</>
1540
+ </para>
1541
+ </listitem>
1542
+ <listitem>
1543
+ <para>
1544
+ <filename>pg_xlog</> (including subdirectories)
1545
+ </para>
1546
+ </listitem>
1547
+ </itemizedlist>
1548
+ Owner, group and file mode are set if the underlying filesystem on
1549
+ the server supports it.
1550
+ </para>
1551
+ </listitem>
1552
+ </varlistentry>
1461
1553
</variablelist>
1462
1554
1463
1555
</para>
0 commit comments