{"id":11991,"date":"2018-11-12T19:45:17","date_gmt":"2018-11-12T18:45:17","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/"},"modified":"2018-11-12T19:45:17","modified_gmt":"2018-11-12T18:45:17","slug":"edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/","title":{"rendered":"EDB BART 2.2, parallel full backups without using pg_basebackup"},"content":{"rendered":"<p>Some days ago EnterpriseDB released the latest version of its backup and recovery tool for PostgreSQL and EDB Postgres Advanced Server, release notes <a href=\"https:\/\/get.enterprisedb.com\/docs\/EDB_Backup_and_Recovery_Release_Notes_v2.2.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. The main new features, at least for me, are backups using multiple cores and parallel incremental restores. Besides that BART does not require  <a href=\"https:\/\/www.postgresql.org\/docs\/current\/app-pgbasebackup.html\" target=\"_blank\" rel=\"noopener noreferrer\">pg_basebackup<\/a> anymore for taking full backups of a PostgreSQL instance. The downside with that could be that you can not easily restore the backups without using EDB BART. Lets see how all of that works.<\/p>\n<p><!--more--><\/p>\n<p>I&#8217;ll not describe on how BART can be installed as that is just a &#8220;yum install &#8230;&#8221; from the EDB repositories. Once that is done BART should report version 2.2.0:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n[postgres@edbbart ~]$ bart --version\nbart (EnterpriseDB) 2.2.0\nBART22-REL-2_2_0-GA2-0-g60d64ca \nTue Nov 6 08:32:55 UTC 2018 \n<\/pre>\n<p>The help output of BART already gives an idea about the latest changes:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [16,18,19]\">\n[postgres@edbbart ~]$ bart backup --help\nbart: backup and recovery tool\n\nUsage:\n bart BACKUP [OPTION]...\n\nOptions:\n  -h, --help           Show this help message and exit\n  -s, --server         Name of the server or 'all' (full backups only) to specify all servers\n  -F, --format=p|t     Backup output format (tar (default) or plain)\n  -z, --gzip           Enables gzip compression of tar files\n  -c, --compress-level Specifies the compression level (1 through 9, 9 being best compression)\n\n  --backup-name        Specify a friendly name for the current backup\n  --parent             Specify parent backup for incremental backup\n  --thread-count       Specify number of worker thread(s) to take backup\n  --check              Verify checksum of required mbm files\n  --with-pg_basebackup Use pg_basebackup to take the backup, valid only for full backup\n  --no-pg_basebackup   Don't use pg_basebackup to take the backup, valid only for full backup\n<\/pre>\n<p>Parallel stuff came in and the possibility to avoid using pg_basebackup. Lets do a first test without specifying &#8220;&#8211;with-pg_basebackup&#8221; or &#8220;&#8211;no-pg_basebackup&#8221; just to see what the default is:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [7,8,9]\">\n[postgres@edbbart ~]$ \/usr\/edb\/bart\/bin\/bart init -s PG2 -o\nINFO:  setting archive_command for server 'pg2'\nWARNING: archive_command is set. server restart is required\n[postgres@edbbart ~]$ bart backup -s PG2\nINFO:  DebugTarget - getVar(checkDiskSpace.bytesAvailable)\nINFO:  new backup identifier generated 1541853901964\nINFO:  creating 2 harvester threads\n\/u90\/pg2\/1541853901964\n\/u90\/pg2\/1541853901964\nINFO:  backup completed successfully\nINFO:  \nBART VERSION: 2.2.0\nBACKUP DETAILS:\nBACKUP STATUS: active\nBACKUP IDENTIFIER: 1541853901964\nBACKUP NAME: PG2_2018-11-10T13:45\nBACKUP PARENT: none\nBACKUP LOCATION: \/u90\/pg2\/1541853901964\nBACKUP SIZE: 81.08 MB\nBACKUP FORMAT: tar\nBACKUP TIMEZONE: Europe\/Zurich\nXLOG METHOD: stream\nBACKUP CHECKSUM(s): 0\nTABLESPACE(s): 0\nSTART WAL LOCATION: 000000010000000000000005\nSTOP WAL LOCATION: 000000010000000000000006\nBACKUP METHOD: pg_start_backup\nBACKUP FROM: master\nSTART TIME: 2018-11-01 15:39:25 CET\nSTOP TIME: 2018-11-01 15:39:28 CET\nTOTAL DURATION: 3 sec(s)\n<\/pre>\n<p>We get two threads for creating the backup and that is because I have requested that in my configuration:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [9,19]\">\n[postgres@edbbart ~]$ cat \/usr\/edb\/bart\/etc\/bart.cfg\n[BART]              \nbart_host = postgres@edbbart  \nbackup_path = \/u90           \npg_basebackup_path = \/usr\/edb\/as11\/bin\/pg_basebackup   \nxlog_method = stream\nretention_policy= 2 DAYS\nlogfile = \/tmp\/bart.log \nscanner_logfile = \/tmp\/scanner.log\t   \nthread_count = 2\n\n[PG2]\nbackup_name = PG2_%year-%month-%dayT%hour:%minute\nhost = 192.168.22.60   \nuser = bart\nport = 5433   \ncluster_owner = postgres \nremote_host = postgres@192.168.22.60 \nallow_incremental_backups = enabled\nthread_count = 2      \ndescription = PG1 backups    \n<\/pre>\n<p>The question is now if pg_basebackup was used in the background or not (the answer is already known though, as pg_basebackup has no parallel option).<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n[postgres@edbbart ~]$ cd \/u90\/pg2\/1541853901964\/\n[postgres@edbbart 1541853901964]$ ls -l\ntotal 83040\n-rw-rw-r--. 1 postgres postgres      644 Nov 10 13:45 backupinfo\n-rw-------. 1 postgres postgres      211 Nov 10 13:45 backup_label\ndrwxrwxr-x. 4 postgres postgres       37 Nov 10 13:45 base\n-rw-rw-r--. 1 postgres postgres 26151424 Nov 10 13:45 base-1.tar\n-rw-rw-r--. 1 postgres postgres 25309696 Nov 10 13:45 base-2.tar\n-rw-rw-r--. 1 postgres postgres 33557504 Nov 10 13:45 base.tar\n<\/pre>\n<p>This is not what you get when you do a plain pg_basebackup. Could we restore that without using BART?<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n[postgres@edbbart aa]$ tar -axf \/u90\/pg2\/1541853901964\/base.tar \n[postgres@edbbart aa]$ ls -l\ntotal 60\ndrwx------. 6 postgres postgres    54 Nov 10 13:45 base\n-rw-------. 1 postgres postgres    33 Nov 10 13:45 current_logfiles\ndrwx------. 2 postgres postgres  4096 Nov 10 13:45 global\n-rw-------. 1 postgres postgres    25 Nov 10 13:45 __payloadChecksum\ndrwx------. 2 postgres postgres     6 Nov 10 13:45 pg_commit_ts\ndrwx------. 2 postgres postgres     6 Nov 10 13:45 pg_dynshmem\n-rw-------. 1 postgres postgres  4653 Nov 10 13:45 pg_hba.conf\n-rw-------. 1 postgres postgres  1636 Nov 10 13:45 pg_ident.conf\ndrwx------. 2 postgres postgres    58 Nov 10 13:55 pg_log\ndrwx------. 4 postgres postgres    68 Nov 10 13:45 pg_logical\ndrwx------. 4 postgres postgres    36 Nov 10 13:45 pg_multixact\ndrwx------. 2 postgres postgres    18 Nov 10 13:55 pg_notify\ndrwx------. 2 postgres postgres     6 Nov 10 13:45 pg_replslot\ndrwx------. 2 postgres postgres     6 Nov 10 13:45 pg_serial\ndrwx------. 2 postgres postgres     6 Nov 10 13:45 pg_snapshots\ndrwx------. 2 postgres postgres     6 Nov 10 13:45 pg_stat\ndrwx------. 2 postgres postgres    88 Nov 10 13:55 pg_stat_tmp\ndrwx------. 2 postgres postgres    18 Nov 10 13:45 pg_subtrans\ndrwx------. 2 postgres postgres     6 Nov 10 13:45 pg_tblspc\ndrwx------. 2 postgres postgres     6 Nov 10 13:45 pg_twophase\n-rw-------. 1 postgres postgres     3 Nov 10 13:45 PG_VERSION\ndrwx------. 2 postgres postgres    70 Nov 10 13:55 pg_wal\ndrwx------. 2 postgres postgres    18 Nov 10 13:55 pg_xact\n-rw-------. 1 postgres postgres  1184 Nov 10 13:45 postgresql.auto.conf\n-rw-------. 1 postgres postgres 27807 Nov 10 13:45 postgresql.conf\n<\/pre>\n<p>Looks like we can just start that, so lets try:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n[postgres@edbbart aa]$ chmod 700 \/var\/tmp\/aa\n[postgres@edbbart aa]$ \/usr\/edb\/as11\/bin\/pg_ctl -D \/var\/tmp\/aa\/ start\nwaiting for server to start....2018-11-10 13:57:29.027 CET - 1 - 14772 -  - @ LOG:  listening on IPv4 address \"0.0.0.0\", port 5433\n2018-11-10 13:57:29.027 CET - 2 - 14772 -  - @ LOG:  listening on IPv6 address \"::\", port 5433\n2018-11-10 13:57:29.034 CET - 3 - 14772 -  - @ LOG:  listening on Unix socket \"\/tmp\/.s.PGSQL.5433\"\n2018-11-10 13:57:29.075 CET - 4 - 14772 -  - @ LOG:  redirecting log output to logging collector process\n2018-11-10 13:57:29.075 CET - 5 - 14772 -  - @ HINT:  Future log output will appear in directory \"pg_log\".\n done\nserver started\n[postgres@edbbart aa]$ \/usr\/edb\/as11\/bin\/psql -p 5433\npsql.bin (11.0.3, server 11.0.3)\nType \"help\" for help.\npostgres=# q\n[postgres@edbbart aa]$ \/usr\/edb\/as11\/bin\/pg_ctl -D \/var\/tmp\/aa\/ stop -m fast\nwaiting for server to shut down....... done\nserver stopped\n[postgres@edbbart aa]$ \n<\/pre>\n<p>Good news: Even when not using pg_basebackup there is no lock-in because you can just combine the tar files and start up the instance. <\/p>\n<p>Having a closer look at what is inside the base*.tar files:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n[postgres@edbbart ~]$ rm -rf \/var\/tmp\/aa\n[postgres@edbbart ~]$ mkdir \/var\/tmp\/aa1\n[postgres@edbbart ~]$ mkdir \/var\/tmp\/aa2\n[postgres@edbbart ~]$ cd \/var\/tmp\/aa1\n[postgres@edbbart aa1]$ tar -axf \/u90\/pg2\/1541853901964\/base-1.tar \n[postgres@edbbart aa1]$ cd ..\/aa2\n[postgres@edbbart aa2]$ tar -axf \/u90\/pg2\/1541853901964\/base-2.tar \n[postgres@edbbart aa2]$ ls -la ..\/aa1\ntotal 28\ndrwxrwxr-x. 15 postgres postgres 4096 Nov 10 14:09 .\ndrwxrwxrwt.  6 root     root      134 Nov 10 14:08 ..\ndrwxrwxr-x.  6 postgres postgres   54 Nov 10 14:09 base\n-rw-------.  1 postgres postgres   33 Nov 10 13:45 current_logfiles\ndrwxrwxr-x.  2 postgres postgres 4096 Nov 10 14:09 global\n-rw-------.  1 postgres postgres   25 Nov 10 13:45 __payloadChecksum\ndrwx------.  2 postgres postgres    6 Nov 10 13:45 pg_commit_ts\n-rw-------.  1 postgres postgres 4653 Nov 10 13:45 pg_hba.conf\ndrwx------.  2 postgres postgres   32 Nov 10 13:45 pg_log\ndrwxrwxr-x.  4 postgres postgres   39 Nov 10 14:09 pg_logical\ndrwxrwxr-x.  4 postgres postgres   36 Nov 10 14:09 pg_multixact\ndrwx------.  2 postgres postgres    6 Nov 10 13:45 pg_notify\ndrwx------.  2 postgres postgres    6 Nov 10 13:45 pg_replslot\ndrwx------.  2 postgres postgres    6 Nov 10 13:45 pg_snapshots\ndrwx------.  2 postgres postgres   52 Nov 10 13:45 pg_stat_tmp\ndrwxrwxr-x.  2 postgres postgres   18 Nov 10 14:09 pg_subtrans\ndrwx------.  2 postgres postgres    6 Nov 10 13:45 pg_twophase\ndrwx------.  2 postgres postgres    6 Nov 10 13:45 pg_xact\n-rw-------.  1 postgres postgres 1184 Nov 10 13:45 postgresql.auto.conf\n[postgres@edbbart aa2]$ ls -la ..\/aa2\ntotal 48\ndrwxrwxr-x. 16 postgres postgres  4096 Nov 10 14:09 .\ndrwxrwxrwt.  6 root     root       134 Nov 10 14:08 ..\ndrwx------.  6 postgres postgres    54 Nov 10 13:45 base\ndrwx------.  2 postgres postgres  4096 Nov 10 13:45 global\n-rw-------.  1 postgres postgres    25 Nov 10 13:45 __payloadChecksum\ndrwx------.  2 postgres postgres     6 Nov 10 13:45 pg_dynshmem\n-rw-------.  1 postgres postgres  1636 Nov 10 13:45 pg_ident.conf\ndrwxrwxr-x.  2 postgres postgres    32 Nov 10 14:09 pg_log\ndrwx------.  2 postgres postgres    35 Nov 10 13:45 pg_logical\ndrwx------.  4 postgres postgres    36 Nov 10 13:45 pg_multixact\ndrwxrwxr-x.  2 postgres postgres    18 Nov 10 14:09 pg_notify\ndrwx------.  2 postgres postgres     6 Nov 10 13:45 pg_serial\ndrwx------.  2 postgres postgres     6 Nov 10 13:45 pg_stat\ndrwxrwxr-x.  2 postgres postgres    42 Nov 10 14:09 pg_stat_tmp\ndrwx------.  2 postgres postgres     6 Nov 10 13:45 pg_subtrans\ndrwx------.  2 postgres postgres     6 Nov 10 13:45 pg_tblspc\n-rw-------.  1 postgres postgres     3 Nov 10 13:45 PG_VERSION\ndrwx------.  2 postgres postgres     6 Nov 10 13:45 pg_wal\ndrwxrwxr-x.  2 postgres postgres    18 Nov 10 14:09 pg_xact\n-rw-------.  1 postgres postgres 27807 Nov 10 13:45 postgresql.conf\n<\/pre>\n<p>The main benefit comes from splitting the data files of the databases ( $PGDATA\/base\/[OIDs]) into separat tar files:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n[postgres@edbbart aa2]$ ls -la ..\/aa2\/base\ntotal 36\ndrwx------.  6 postgres postgres   54 Nov 10 13:45 .\ndrwxrwxr-x. 16 postgres postgres 4096 Nov 10 14:09 ..\ndrwxrwxr-x.  2 postgres postgres 4096 Nov 10 14:09 1\ndrwxrwxr-x.  2 postgres postgres 4096 Nov 10 14:09 15709\ndrwx------.  2 postgres postgres 4096 Nov 10 13:45 15710\ndrwx------.  2 postgres postgres 4096 Nov 10 13:45 15711\n[postgres@edbbart aa2]$ ls -la ..\/aa1\/base\ntotal 36\ndrwxrwxr-x.  6 postgres postgres   54 Nov 10 14:09 .\ndrwxrwxr-x. 15 postgres postgres 4096 Nov 10 14:09 ..\ndrwx------.  2 postgres postgres 4096 Nov 10 13:45 1\ndrwx------.  2 postgres postgres 4096 Nov 10 13:45 15709\ndrwxrwxr-x.  2 postgres postgres 4096 Nov 10 14:09 15710\ndrwxrwxr-x.  2 postgres postgres 4096 Nov 10 14:09 15711\n[postgres@edbbart aa2]$ ls -la ..\/aa1\/base\/15711\ntotal 5828\ndrwxrwxr-x. 2 postgres postgres    4096 Nov 10 14:09 .\ndrwxrwxr-x. 6 postgres postgres      54 Nov 10 14:09 ..\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 112\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 1220\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 1222\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 1227\n-rw-------. 1 postgres postgres  139264 Nov 10 13:45 1247\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 1247_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 1249_fsm\n-rw-------. 1 postgres postgres 1196032 Nov 10 13:45 1255\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 1255_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 1259_fsm\n-rw-------. 1 postgres postgres   57344 Nov 10 13:45 13795\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13795_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13799\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 13800_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 13802\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13805\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13805_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13809\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 13810_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 13812\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13815\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13815_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13819\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 13820_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 13822\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 13825\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13829\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 13956_fsm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13966\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13966_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 1417_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 1418_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 14539\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 14542\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 14547\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 14550\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 14555\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15609\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15614\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15617\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15622\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15625\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15629\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15632\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15636\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15639\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15644\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15649\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15654\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15659\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15664\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 175\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2224\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2224_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2328_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2336\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2337\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2600\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2600_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2601_fsm\n-rw-------. 1 postgres postgres   57344 Nov 10 13:45 2602\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2602_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2603_fsm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2604\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2604_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2605_fsm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2606\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2606_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2607_fsm\n-rw-------. 1 postgres postgres  663552 Nov 10 13:45 2608\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2608_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2609_fsm\n-rw-------. 1 postgres postgres   40960 Nov 10 13:45 2610\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2610_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2611_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2612_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2613\n-rw-------. 1 postgres postgres   49152 Nov 10 13:45 2615\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2615_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2616_fsm\n-rw-------. 1 postgres postgres  122880 Nov 10 13:45 2617\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2617_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2618_fsm\n-rw-------. 1 postgres postgres  163840 Nov 10 13:45 2619\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2619_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2620_vm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2651\n-rw-------. 1 postgres postgres   40960 Nov 10 13:45 2653\n-rw-------. 1 postgres postgres   32768 Nov 10 13:45 2655\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2657\n-rw-------. 1 postgres postgres  139264 Nov 10 13:45 2659\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2661\n-rw-------. 1 postgres postgres   65536 Nov 10 13:45 2663\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2665\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2667\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2669\n-rw-------. 1 postgres postgres  524288 Nov 10 13:45 2673\n-rw-------. 1 postgres postgres  196608 Nov 10 13:45 2675\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2679\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2681\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2683\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2685\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2687\n-rw-------. 1 postgres postgres   49152 Nov 10 13:45 2689\n-rw-------. 1 postgres postgres  434176 Nov 10 13:45 2691\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2693\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2699\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2702\n-rw-------. 1 postgres postgres   65536 Nov 10 13:45 2704\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2753_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2754\n-rw-------. 1 postgres postgres   32768 Nov 10 13:45 2756\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2830\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2831\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2832_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2834\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2835\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2836_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2837\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2838_fsm\n-rw-------. 1 postgres postgres   32768 Nov 10 13:45 2839\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2840_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2841\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2995_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3079\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3079_vm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3081\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3118\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3119\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3256\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3257\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3350\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3351\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3380\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3381_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 3394_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3395\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3439_vm\n-rw-------. 1 postgres postgres   49152 Nov 10 13:45 3455\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 3456_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3466\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3467\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3501\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3501_vm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3503\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3541\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3541_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3574\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3576\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3596\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3597\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3598_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3600\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3600_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 3601_fsm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3602\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3602_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 3603_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3604\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3606\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3608\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3712\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 3764_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3766\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3997\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 4943\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 4951\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 4953\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 5002\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 548\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 6102\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 6104\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 6106\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 6110\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 6112\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 6117\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 7200_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 826\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 827\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 8889\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 8890_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 8891\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 8895_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 8896\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 8899\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 8900\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 9970\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 9971\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 9972\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 9972_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 9973_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 9984\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 9986\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 9988\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 9991\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 9993\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 9995\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 9997\n-rw-------. 1 postgres postgres       3 Nov 10 13:45 PG_VERSION\n[postgres@edbbart aa2]$ ls -la ..\/aa2\/base\/15711\ntotal 6028\ndrwx------. 2 postgres postgres    4096 Nov 10 13:45 .\ndrwx------. 6 postgres postgres      54 Nov 10 13:45 ..\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 113\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 1221\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 1226\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 1228\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 1247_fsm\n-rw-------. 1 postgres postgres  761856 Nov 10 13:45 1249\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 1249_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 1255_fsm\n-rw-------. 1 postgres postgres  139264 Nov 10 13:45 1259\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 1259_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 13795_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 13797\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13800\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13800_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13804\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 13805_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 13807\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13810\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13810_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13814\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 13815_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 13817\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13820\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13820_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13824\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 13827\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13956\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 13956_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 13966_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 1417\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 1418\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 14536\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 14541\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 14544\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 14549\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 14552\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 14557\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15611\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15616\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15619\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15624\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15626\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15631\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15633\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 15638\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15641\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15646\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15651\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15656\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 15661\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 174\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2187\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2224_fsm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2328\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2328_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2336_vm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2579\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2600_fsm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2601\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2601_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2602_fsm\n-rw-------. 1 postgres postgres   32768 Nov 10 13:45 2603\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2603_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2604_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2605\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2605_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2606_fsm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2607\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2607_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2608_fsm\n-rw-------. 1 postgres postgres  360448 Nov 10 13:45 2609\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2609_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2610_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2611\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2612\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2612_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2613_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2615_fsm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2616\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2616_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2617_fsm\n-rw-------. 1 postgres postgres  172032 Nov 10 13:45 2618\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2618_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 2619_fsm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2620\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2650\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2652\n-rw-------. 1 postgres postgres   40960 Nov 10 13:45 2654\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2656\n-rw-------. 1 postgres postgres  204800 Nov 10 13:45 2658\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2660\n-rw-------. 1 postgres postgres   32768 Nov 10 13:45 2662\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2664\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2666\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2668\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2670\n-rw-------. 1 postgres postgres  557056 Nov 10 13:45 2674\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2678\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2680\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2682\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2684\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2686\n-rw-------. 1 postgres postgres   40960 Nov 10 13:45 2688\n-rw-------. 1 postgres postgres  114688 Nov 10 13:45 2690\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2692\n-rw-------. 1 postgres postgres   32768 Nov 10 13:45 2696\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2701\n-rw-------. 1 postgres postgres   40960 Nov 10 13:45 2703\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2753\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2753_vm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 2755\n-rw-------. 1 postgres postgres   32768 Nov 10 13:45 2757\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2830_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2832\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2833\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2834_vm\n-rw-------. 1 postgres postgres   32768 Nov 10 13:45 2836\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2836_vm\n-rw-------. 1 postgres postgres 1040384 Nov 10 13:45 2838\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2838_vm\n-rw-------. 1 postgres postgres   49152 Nov 10 13:45 2840\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2840_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 2995\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 2996\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 3079_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3080\n-rw-------. 1 postgres postgres   57344 Nov 10 13:45 3085\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3118_vm\n-rw-------. 1 postgres postgres   90112 Nov 10 13:45 3164\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3256_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3258\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3350_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3379\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3381\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3394\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3394_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3439\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3440\n-rw-------. 1 postgres postgres  507904 Nov 10 13:45 3456\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3456_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3466_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3468\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 3501_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3502\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3534\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 3541_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3542\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3575\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3576_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3596_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 3598\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3599\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 3600_fsm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3601\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3601_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 3602_fsm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3603\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3603_vm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3605\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3607\n-rw-------. 1 postgres postgres   32768 Nov 10 13:45 3609\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3764\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 3764_vm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 3767\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 4942\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 4950\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 4952\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 4954\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 5007\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 549\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 6102_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 6104_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 6106_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 6111\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 6113\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 7200\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 7201\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 826_vm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 828\n-rw-------. 1 postgres postgres   49152 Nov 10 13:45 8890\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 8890_vm\n-rw-------. 1 postgres postgres   32768 Nov 10 13:45 8895\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 8895_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 8896_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 8899_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 8900_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 9970_vm\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 9971_vm\n-rw-------. 1 postgres postgres   24576 Nov 10 13:45 9972_fsm\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 9973\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 9973_vm\n-rw-------. 1 postgres postgres   32768 Nov 10 13:45 9985\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 9987\n-rw-------. 1 postgres postgres       0 Nov 10 13:45 9988_vm\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 9992\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 9994\n-rw-------. 1 postgres postgres   16384 Nov 10 13:45 9996\n-rw-------. 1 postgres postgres    8192 Nov 10 13:45 9998\n-rw-------. 1 postgres postgres     512 Nov 10 13:45 pg_filenode.map\n<\/pre>\n<p>When you reduce the &#8220;thread_count&#8221; to 1 you will get a normal pg_basebackup:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n[postgres@edbbart aa2]$ cat \/usr\/edb\/bart\/etc\/bart.cfg\n[BART]              \nbart_host = postgres@edbbart  \nbackup_path = \/u90           \npg_basebackup_path = \/usr\/edb\/as11\/bin\/pg_basebackup   \nxlog_method = stream\nretention_policy= 2 DAYS\nlogfile = \/tmp\/bart.log \nscanner_logfile = \/tmp\/scanner.log\t   \nthread_count = 2\n\n[PG2]\nbackup_name = PG2_%year-%month-%dayT%hour:%minute\nhost = 192.168.22.60   \nuser = bart\nport = 5433   \ncluster_owner = postgres \nremote_host = postgres@192.168.22.60 \nallow_incremental_backups = enabled\nthread_count = 1\ndescription = PG1 backuos \n\n[postgres@edbbart aa2]$ bart backup -s PG2\nINFO:  DebugTarget - getVar(checkDiskSpace.bytesAvailable)\nINFO:  creating full backup using pg_basebackup for server 'pg2'\nINFO:  creating backup for server 'pg2'\nINFO:  backup identifier: '1541856034356'\nINFO:  backup completed successfully\nINFO:  \nBART VERSION: 2.2.0\nBACKUP DETAILS:\nBACKUP STATUS: active\nBACKUP IDENTIFIER: 1541856034356\nBACKUP NAME: PG2_2018-11-10T14:20\nBACKUP PARENT: none\nBACKUP LOCATION: \/u90\/pg2\/1541856034356\nBACKUP SIZE: 64.68 MB\nBACKUP FORMAT: tar\nBACKUP TIMEZONE: Europe\/Zurich\nXLOG METHOD: stream\nBACKUP CHECKSUM(s): 0\nTABLESPACE(s): 0\nSTART WAL LOCATION: 000000010000000000000008\nBACKUP METHOD: streamed\nBACKUP FROM: master\nSTART TIME: 2018-11-01 16:14:57 CET\nSTOP TIME: 2018-11-10 14:20:34 CET\nTOTAL DURATION: 214.094 hour(s)\n<\/pre>\n<p>In the next post we&#8217;ll look at how we can do parallel incremental restores.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Some days ago EnterpriseDB released the latest version of its backup and recovery tool for PostgreSQL and EDB Postgres Advanced Server, release notes here. The main new features, at least for me, are backups using multiple cores and parallel incremental restores. Besides that BART does not require pg_basebackup anymore for taking full backups of a [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[1003,1494,77],"type_dbi":[],"class_list":["post-11991","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","tag-bart","tag-entrerprisedb","tag-postgresql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>EDB BART 2.2, parallel full backups without using pg_basebackup<\/title>\n<meta name=\"description\" content=\"EDB BART 2.2, parallel full backups without using pg_basebackup\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"EDB BART 2.2, parallel full backups without using pg_basebackup\" \/>\n<meta property=\"og:description\" content=\"EDB BART 2.2, parallel full backups without using pg_basebackup\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-12T18:45:17+00:00\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\\\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"EDB BART 2.2, parallel full backups without using pg_basebackup\",\"datePublished\":\"2018-11-12T18:45:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\\\/\"},\"wordCount\":326,\"commentCount\":0,\"keywords\":[\"Bart\",\"entrerprisedb\",\"PostgreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\\\/\",\"name\":\"EDB BART 2.2, parallel full backups without using pg_basebackup\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2018-11-12T18:45:17+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"description\":\"EDB BART 2.2, parallel full backups without using pg_basebackup\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"EDB BART 2.2, parallel full backups without using pg_basebackup\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\\\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/westermanndanie\"],\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/daniel-westermann\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"EDB BART 2.2, parallel full backups without using pg_basebackup","description":"EDB BART 2.2, parallel full backups without using pg_basebackup","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/","og_locale":"en_US","og_type":"article","og_title":"EDB BART 2.2, parallel full backups without using pg_basebackup","og_description":"EDB BART 2.2, parallel full backups without using pg_basebackup","og_url":"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/","og_site_name":"dbi Blog","article_published_time":"2018-11-12T18:45:17+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"EDB BART 2.2, parallel full backups without using pg_basebackup","datePublished":"2018-11-12T18:45:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/"},"wordCount":326,"commentCount":0,"keywords":["Bart","entrerprisedb","PostgreSQL"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/","url":"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/","name":"EDB BART 2.2, parallel full backups without using pg_basebackup","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2018-11-12T18:45:17+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"description":"EDB BART 2.2, parallel full backups without using pg_basebackup","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/edb-bart-2-2-parallel-full-backups-without-using-pg_basebackup\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"EDB BART 2.2, parallel full backups without using pg_basebackup"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11991","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=11991"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11991\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=11991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=11991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=11991"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=11991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}