You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-07-05 00:28:52 +02:00
Allow upload chunk size to be configured for object stores.
There are performance benefits to increasing the upload chunk size as long as the tradeoff with additional memory consumption is acceptable. Make the chunk size configurable for S3, GCS, and Azure, but don't attempt to do any validation of the chunk size beyond some sane limits. The defaults remain as is for each storage type to avoid any unintentional regressions.
This commit is contained in:
@ -194,129 +194,132 @@ testRun(void)
|
||||
"\n"
|
||||
"Command Options:\n"
|
||||
"\n"
|
||||
" --archive-mode preserve or disable archiving on restored\n"
|
||||
" cluster [default=preserve]\n"
|
||||
" --db-exclude restore excluding the specified databases\n"
|
||||
" --db-include restore only specified databases\n"
|
||||
" [current=db1, db2]\n"
|
||||
" --force force a restore [default=n]\n"
|
||||
" --link-all restore all symlinks [default=n]\n"
|
||||
" --link-map modify the destination of a symlink\n"
|
||||
" [current=/link1=/dest1, /link2=/dest2]\n"
|
||||
" --recovery-option set an option in recovery.conf\n"
|
||||
" --set backup set to restore [default=latest]\n"
|
||||
" --tablespace-map restore a tablespace into the specified\n"
|
||||
" directory\n"
|
||||
" --tablespace-map-all restore all tablespaces into the specified\n"
|
||||
" directory\n"
|
||||
" --target recovery target\n"
|
||||
" --target-action action to take when recovery target is\n"
|
||||
" reached [default=pause]\n"
|
||||
" --target-exclusive stop just before the recovery target is\n"
|
||||
" reached [default=n]\n"
|
||||
" --target-timeline recover along a timeline\n"
|
||||
" --type recovery type [default=default]\n"
|
||||
" --archive-mode preserve or disable archiving on restored\n"
|
||||
" cluster [default=preserve]\n"
|
||||
" --db-exclude restore excluding the specified databases\n"
|
||||
" --db-include restore only specified databases\n"
|
||||
" [current=db1, db2]\n"
|
||||
" --force force a restore [default=n]\n"
|
||||
" --link-all restore all symlinks [default=n]\n"
|
||||
" --link-map modify the destination of a symlink\n"
|
||||
" [current=/link1=/dest1, /link2=/dest2]\n"
|
||||
" --recovery-option set an option in recovery.conf\n"
|
||||
" --set backup set to restore [default=latest]\n"
|
||||
" --tablespace-map restore a tablespace into the specified\n"
|
||||
" directory\n"
|
||||
" --tablespace-map-all restore all tablespaces into the specified\n"
|
||||
" directory\n"
|
||||
" --target recovery target\n"
|
||||
" --target-action action to take when recovery target is\n"
|
||||
" reached [default=pause]\n"
|
||||
" --target-exclusive stop just before the recovery target is\n"
|
||||
" reached [default=n]\n"
|
||||
" --target-timeline recover along a timeline\n"
|
||||
" --type recovery type [default=default]\n"
|
||||
"\n"
|
||||
"General Options:\n"
|
||||
"\n"
|
||||
" --buffer-size buffer size for I/O operations\n"
|
||||
" [current=32768, default=1MiB]\n"
|
||||
" --cmd pgBackRest command\n"
|
||||
" [default=/path/to/pgbackrest]\n"
|
||||
" --cmd-ssh SSH client command [default=ssh]\n"
|
||||
" --compress-level-network network compression level [default=3]\n"
|
||||
" --config pgBackRest configuration file\n"
|
||||
" [default=/etc/pgbackrest/pgbackrest.conf]\n"
|
||||
" --config-include-path path to additional pgBackRest configuration\n"
|
||||
" files [default=/etc/pgbackrest/conf.d]\n"
|
||||
" --config-path base path of pgBackRest configuration files\n"
|
||||
" [default=/etc/pgbackrest]\n"
|
||||
" --delta restore or backup using checksums [default=n]\n"
|
||||
" --io-timeout I/O timeout [default=60]\n"
|
||||
" --lock-path path where lock files are stored\n"
|
||||
" [default=/tmp/pgbackrest]\n"
|
||||
" --neutral-umask use a neutral umask [default=y]\n"
|
||||
" --process-max max processes to use for compress/transfer\n"
|
||||
" [default=1]\n"
|
||||
" --protocol-timeout protocol timeout [default=1830]\n"
|
||||
" --sck-keep-alive keep-alive enable [default=y]\n"
|
||||
" --stanza defines the stanza\n"
|
||||
" --tcp-keep-alive-count keep-alive count\n"
|
||||
" --tcp-keep-alive-idle keep-alive idle time\n"
|
||||
" --tcp-keep-alive-interval keep-alive interval time\n"
|
||||
" --buffer-size buffer size for I/O operations\n"
|
||||
" [current=32768, default=1MiB]\n"
|
||||
" --cmd pgBackRest command\n"
|
||||
" [default=/path/to/pgbackrest]\n"
|
||||
" --cmd-ssh SSH client command [default=ssh]\n"
|
||||
" --compress-level-network network compression level [default=3]\n"
|
||||
" --config pgBackRest configuration file\n"
|
||||
" [default=/etc/pgbackrest/pgbackrest.conf]\n"
|
||||
" --config-include-path path to additional pgBackRest configuration\n"
|
||||
" files [default=/etc/pgbackrest/conf.d]\n"
|
||||
" --config-path base path of pgBackRest configuration files\n"
|
||||
" [default=/etc/pgbackrest]\n"
|
||||
" --delta restore or backup using checksums\n"
|
||||
" [default=n]\n"
|
||||
" --io-timeout I/O timeout [default=60]\n"
|
||||
" --lock-path path where lock files are stored\n"
|
||||
" [default=/tmp/pgbackrest]\n"
|
||||
" --neutral-umask use a neutral umask [default=y]\n"
|
||||
" --process-max max processes to use for compress/transfer\n"
|
||||
" [default=1]\n"
|
||||
" --protocol-timeout protocol timeout [default=1830]\n"
|
||||
" --sck-keep-alive keep-alive enable [default=y]\n"
|
||||
" --stanza defines the stanza\n"
|
||||
" --tcp-keep-alive-count keep-alive count\n"
|
||||
" --tcp-keep-alive-idle keep-alive idle time\n"
|
||||
" --tcp-keep-alive-interval keep-alive interval time\n"
|
||||
"\n"
|
||||
"Log Options:\n"
|
||||
"\n"
|
||||
" --log-level-console level for console logging [default=warn]\n"
|
||||
" --log-level-file level for file logging [default=info]\n"
|
||||
" --log-level-stderr level for stderr logging [default=warn]\n"
|
||||
" --log-path path where log files are stored\n"
|
||||
" [default=/var/log/pgbackrest]\n"
|
||||
" --log-subprocess enable logging in subprocesses [default=n]\n"
|
||||
" --log-timestamp enable timestamp in logging [default=y]\n"
|
||||
" --log-level-console level for console logging [default=warn]\n"
|
||||
" --log-level-file level for file logging [default=info]\n"
|
||||
" --log-level-stderr level for stderr logging [default=warn]\n"
|
||||
" --log-path path where log files are stored\n"
|
||||
" [default=/var/log/pgbackrest]\n"
|
||||
" --log-subprocess enable logging in subprocesses [default=n]\n"
|
||||
" --log-timestamp enable timestamp in logging [default=y]\n"
|
||||
"\n",
|
||||
"Repository Options:\n"
|
||||
"\n"
|
||||
" --repo set repository\n"
|
||||
" --repo-azure-account azure repository account\n"
|
||||
" --repo-azure-container azure repository container\n"
|
||||
" --repo-azure-endpoint azure repository endpoint\n"
|
||||
" [default=blob.core.windows.net]\n"
|
||||
" --repo-azure-key azure repository key\n"
|
||||
" --repo-azure-key-type azure repository key type [default=shared]\n"
|
||||
" --repo-azure-uri-style azure URI Style [default=host]\n"
|
||||
" --repo-cipher-pass repository cipher passphrase\n"
|
||||
" [current=<redacted>]\n"
|
||||
" --repo-cipher-type cipher used to encrypt the repository\n"
|
||||
" [current=aes-256-cbc, default=none]\n"
|
||||
" --repo-gcs-bucket GCS repository bucket\n"
|
||||
" --repo-gcs-endpoint GCS repository endpoint\n"
|
||||
" [default=storage.googleapis.com]\n"
|
||||
" --repo-gcs-key GCS repository key\n"
|
||||
" --repo-gcs-key-type GCS repository key type [default=service]\n"
|
||||
" --repo-host repository host when operating remotely via\n"
|
||||
" SSH [current=backup.example.net]\n"
|
||||
" --repo-host-ca-file repository host certificate authority file\n"
|
||||
" --repo-host-ca-path repository host certificate authority path\n"
|
||||
" --repo-host-cert-file repository host certificate file\n"
|
||||
" --repo-host-cmd repository host pgBackRest command\n"
|
||||
" [default=/path/to/pgbackrest]\n"
|
||||
" --repo-host-config pgBackRest repository host configuration\n"
|
||||
" file\n"
|
||||
" [default=/etc/pgbackrest/pgbackrest.conf]\n"
|
||||
" --repo-host-config-include-path pgBackRest repository host configuration\n"
|
||||
" include path [default=/etc/pgbackrest/conf.d]\n"
|
||||
" --repo-host-config-path pgBackRest repository host configuration\n"
|
||||
" path [default=/etc/pgbackrest]\n"
|
||||
" --repo-host-key-file repository host key file\n"
|
||||
" --repo-host-port repository host port when repo-host is set\n"
|
||||
" --repo-host-type repository host protocol type [default=ssh]\n"
|
||||
" --repo-host-user repository host user when repo-host is set\n"
|
||||
" [default=pgbackrest]\n"
|
||||
" --repo-path path where backups and archive are stored\n"
|
||||
" [default=/var/lib/pgbackrest]\n"
|
||||
" --repo-s3-bucket S3 repository bucket\n"
|
||||
" --repo-s3-endpoint S3 repository endpoint\n"
|
||||
" --repo-s3-key S3 repository access key\n"
|
||||
" --repo-s3-key-secret S3 repository secret access key\n"
|
||||
" --repo-s3-key-type S3 repository key type [default=shared]\n"
|
||||
" --repo-s3-kms-key-id S3 repository KMS key\n"
|
||||
" --repo-s3-region S3 repository region\n"
|
||||
" --repo-s3-role S3 repository role\n"
|
||||
" --repo-s3-token S3 repository security token\n"
|
||||
" --repo-s3-uri-style S3 URI Style [default=host]\n"
|
||||
" --repo-storage-ca-file repository storage CA file\n"
|
||||
" --repo-storage-ca-path repository storage CA path\n"
|
||||
" --repo-storage-host repository storage host\n"
|
||||
" --repo-storage-port repository storage port [default=443]\n"
|
||||
" --repo-storage-verify-tls repository storage certificate verify\n"
|
||||
" [default=y]\n"
|
||||
" --repo-type type of storage used for the repository\n"
|
||||
" [default=posix]\n"
|
||||
" --repo set repository\n"
|
||||
" --repo-azure-account azure repository account\n"
|
||||
" --repo-azure-container azure repository container\n"
|
||||
" --repo-azure-endpoint azure repository endpoint\n"
|
||||
" [default=blob.core.windows.net]\n"
|
||||
" --repo-azure-key azure repository key\n"
|
||||
" --repo-azure-key-type azure repository key type [default=shared]\n"
|
||||
" --repo-azure-uri-style azure URI Style [default=host]\n"
|
||||
" --repo-cipher-pass repository cipher passphrase\n"
|
||||
" [current=<redacted>]\n"
|
||||
" --repo-cipher-type cipher used to encrypt the repository\n"
|
||||
" [current=aes-256-cbc, default=none]\n"
|
||||
" --repo-gcs-bucket GCS repository bucket\n"
|
||||
" --repo-gcs-endpoint GCS repository endpoint\n"
|
||||
" [default=storage.googleapis.com]\n"
|
||||
" --repo-gcs-key GCS repository key\n"
|
||||
" --repo-gcs-key-type GCS repository key type [default=service]\n"
|
||||
" --repo-host repository host when operating remotely via\n"
|
||||
" SSH [current=backup.example.net]\n"
|
||||
" --repo-host-ca-file repository host certificate authority file\n"
|
||||
" --repo-host-ca-path repository host certificate authority path\n"
|
||||
" --repo-host-cert-file repository host certificate file\n"
|
||||
" --repo-host-cmd repository host pgBackRest command\n"
|
||||
" [default=/path/to/pgbackrest]\n"
|
||||
" --repo-host-config pgBackRest repository host configuration\n"
|
||||
" file\n"
|
||||
" [default=/etc/pgbackrest/pgbackrest.conf]\n"
|
||||
" --repo-host-config-include-path pgBackRest repository host configuration\n"
|
||||
" include path\n"
|
||||
" [default=/etc/pgbackrest/conf.d]\n"
|
||||
" --repo-host-config-path pgBackRest repository host configuration\n"
|
||||
" path [default=/etc/pgbackrest]\n"
|
||||
" --repo-host-key-file repository host key file\n"
|
||||
" --repo-host-port repository host port when repo-host is set\n"
|
||||
" --repo-host-type repository host protocol type [default=ssh]\n"
|
||||
" --repo-host-user repository host user when repo-host is set\n"
|
||||
" [default=pgbackrest]\n"
|
||||
" --repo-path path where backups and archive are stored\n"
|
||||
" [default=/var/lib/pgbackrest]\n"
|
||||
" --repo-s3-bucket S3 repository bucket\n"
|
||||
" --repo-s3-endpoint S3 repository endpoint\n"
|
||||
" --repo-s3-key S3 repository access key\n"
|
||||
" --repo-s3-key-secret S3 repository secret access key\n"
|
||||
" --repo-s3-key-type S3 repository key type [default=shared]\n"
|
||||
" --repo-s3-kms-key-id S3 repository KMS key\n"
|
||||
" --repo-s3-region S3 repository region\n"
|
||||
" --repo-s3-role S3 repository role\n"
|
||||
" --repo-s3-token S3 repository security token\n"
|
||||
" --repo-s3-uri-style S3 URI Style [default=host]\n"
|
||||
" --repo-storage-ca-file repository storage CA file\n"
|
||||
" --repo-storage-ca-path repository storage CA path\n"
|
||||
" --repo-storage-host repository storage host\n"
|
||||
" --repo-storage-port repository storage port [default=443]\n"
|
||||
" --repo-storage-upload-chunk-size repository storage upload chunk size\n"
|
||||
" --repo-storage-verify-tls repository storage certificate verify\n"
|
||||
" [default=y]\n"
|
||||
" --repo-type type of storage used for the repository\n"
|
||||
" [default=posix]\n"
|
||||
"\n"
|
||||
"Stanza Options:\n"
|
||||
"\n"
|
||||
" --pg-path postgreSQL data directory\n"
|
||||
" --pg-path postgreSQL data directory\n"
|
||||
"\n"
|
||||
"Use 'pgbackrest help restore [option]' for more information.\n");
|
||||
|
||||
|
Reference in New Issue
Block a user