forked from Aiven-Open/pghoard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
193 lines (172 loc) · 9.12 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
pghoard 2.1.0 (2019-05-27)
==========================
* Support for passing statistics to Prometheus
* Progress monitoring of basebackups
* Fix incompatibility with legacy PGHoard backups (2.0.0 was unable to
restore backups taken with much older versions)
* Compatibility improvements for different S3 api implementations
* Support for Zstandard (zstd) compression
* Support SFTP file storage
* File storage APIs (rohmu) support streaming
pghoard 2.0.0 (2018-11-08)
==========================
* Support for PostgreSQL 11
* Drop support for PosgreSQL 9.2
* Multiprocess parallel basebackup restore
* Performance improvements
* Bug fixes
* Python 3.7 compatibility
pghoard 1.7.0 (2018-02-09)
==========================
* Support for PostgreSQL 10.1+
* Use fast checkpoints by default to make the start of backups faster. Slow
progress at the beginning of the backup has a tendency to confuse people.
* Allow overriding the name of the folder for a site's backups by using a
new site-level configuration option ``prefix``. Previously backups were
always stored in a folder named after the site, optionally prefixed by an
undocumented top-level configuration option ``path_prefix`` which is now
deprecated.
* ``archive_cleanup`` storage errors are no longer fatal (just logged as
errors now). Total WAL segment storage size savings is reported after
cleanup. There is a 'dry run' mode available now to estimate cleanup
effect before deleting actual items.
* Use botocore rather than boto for interfacing with S3. Botocore is the
underlying and maintained library under the newer boto3 SDK.
* Add a new --tablespace-base-dir option to restore so you can put all
the tablespaces under a single directory hierarchy.
* Miscellaneous bug fixes and improvements
pghoard 1.6.0 (2017-10-12)
==========================
* Support for PostgreSQL 10
* ``local-tar`` backups are now split to roughly 2 gigabyte chunks of
plain-text files. New basebackups now benefit from some parallelization,
as up to 5 chunks may be uploaded in parallel while new backup chunks are
being created.
* ``pghoard_restore`` can now download and extract chunked basebackups using
all CPU cores of the machine assuming that the parallel download mechanism
can deliver it chunks fast enough
* Alternative ``pghoard_postgres_command`` implementation in Go for faster
startup times. The time that the Python implementation takes to start
limits WAL restore throughput quite a bit
* Remove support for ``pg_xlog_directory`` config variable, we now require
``pg_data_directory`` to be set in the config for the backup site. This
is done in order to stop guessing and possibly getting the answer wrong
for the real location of the data.
* Miscellaneous bug fixes
pghoard 1.5.0 (2017-06-07)
==========================
* New tool, ``pghoard_archive_cleanup`` to clean up any orphan WAL segments
from the object store
* Basebackup ``end-time`` and ``end-wal-segment`` are now stored in metadata and
used for PITR when ``local-tar`` basebackups are used
* Azure object storage updated to work with the latest python-azure-storage
module and promoted to production ready status
* Google object storage driver now retries operations on failure to work
around transient connection reset and backend failure issues
* Google object storage compatibility with Google oauth2client version 1.5+
* S3 driver now supports server side encryption
* Swift driver now supports the region_name configuration option
* Support for ``local-tar`` backups of a replica on PostgreSQL 9.6 and newer
using the new non-exclusive backup mechanism. Previous PostgreSQL
versions require the pgespresso extension to take backups of replicas
using the ``local-tar`` method, the pg_basebackup utilizing (default)
methods have always supported backups of replicas
* When ``local-tar`` basebackups are used in exclusive mode (PG <= 9.5 without
pgespresso) any conflicting exclusive basebackup is automatically cancelled
to allow PGHoard to take its own basebackup. This is sometimes required if
a previous PGHoard process has been killed while it was taking a backup
* Support pghoard_restore --recovery-target-action with 9.3 and 9.4
* Creating a ``maintenance_mode_file`` as documented in README now stops
automatic basebackups from being created
* Changed the default directory for ``maintenance_mode_file`` and
``json_state_file_path`` from ``/tmp`` to ``/var/lib/pghoard``
* Autotune ``compression.thread_count`` and ``transfer_agent.thread_count`` defaults
to be ``max(cpu_count, 5)`` instead of a default of ``5`` as before
* Support for Python 3.6
* Miscellaneous bug fixes
pghoard 1.4.0 (2016-07-22)
==========================
* Add ability to get state file from webserver using ``GET /status``
* Support for Telegraf and DataDog statsd
* Basebackup restoration now shows download progress
* New ``basebackup_mode`` option: ``local-tar`` to collect files directly from
``$PGDATA`` instead of running pg_basebackup. The ``local-tar`` mode allows
backing up user tablespaces
* New site-specific configuration option ``pg_data_directory`` is required
to use the new ``local-tar`` mode, but it's also recommended in other
configurations as the ``pg_xlog_directory`` option is now deprecated and
will be removed in a future release
* New site-specific configuration option ``pg_bin_directory`` replaces the
previous global ``pg_basebackup_path`` and ``pg_receivexlog_path``
configuration options. This allows handling multiple versions in a single
pghoard configuration and simplifies configuration as a single option is
needed instead of two. Also, if a pg_data_directory exists the binary
directory is automatically looked up from various well-known paths,
removing the requirement of setting this option when using PGDG Debian,
RHEL or Fedora packages.
* Basebackup handling was refactored to more cleanly handle the different
operation modes: pipe data directly from pg_basebackup's stdout to PGHoard
compression or collect the temporary tar files first that pg_basebackup
writes itself. This introduced a new configuration option per site:
``basebackup_mode`` which supersedes the old ``stream_compression`` config
option
* Revamped file transformation (encryption, compression) interfaces
* Make sure object storage modules are importable when reading configuration
instead of only checking it when they are used
* Improved PostgreSQL 9.2, 9.6 beta and Python 3.3 compatibility
* Experimental support for new mode walreceiver which uses the PostgreSQL
replication protocol. Much faster and less resource consuming WAL replication
than when using active_backup_mode: pg_receivexlog.
pghoard 1.3.0 (2016-05-30)
==========================
* Support for PostgreSQL 9.6 (beta 1)
* Always use strings as metadata keys and values in object storage, fixing
recent issues with Google Cloud Storage which started throwing a "Backend
Error" when an integer value was used as well as fixing old WAL cleanup.
* Make LZMA compression level configurable
* Fix unprocessed file handling in receivexlog mode after restart
* Miscellaneous bug fixes
pghoard 1.2.0 (2016-04-28)
==========================
* Support for PostgreSQL 9.2
* Support for Python 3.3
* Various commands no longer require site if a config file with a single
site is used. Configuration handling was refactored and much improved
* S3 multipart uploads for greater network error resiliency
* Creating new basebackups by timer can be disabled entirely for a site by
removing the basebackup_interval_hours option or setting it to a null
value
* Ignore requests to archive backup labels, they are not used by PGHoard
* Emit a warning when running under systemd without python-systemd installed
* Test and logging improvements, including support for proper use of syslog
* Miscellaneous bug fixes
pghoard 1.1.0 (2016-04-05)
==========================
* Consider last basebackup's start time instead of completion time for
scheduling the next basebackup
* ``pghoard_create_keys`` can now update an existing configuration file
* Support for OpenStack Swift object storage
* More generic object storage configuration. All configuration keys for
object stores are passed as-is to the implementation. This also meant
that some defaults were dropped: bucket_name and container_name must be
manually set, they no longer default to ``pghoard``.
* New test cases to validate object storage interfaces - the tests revealed
a couple of minor issues which have been fixed in this release
* ``pghoard`` can now be built from a checkout of a tag, namely generation
version.py no longer requires a .git directory
* Documentation and build process improvements
pghoard 1.0.0 (2016-03-16)
==========================
* Support for PostgreSQL 9.3 - 9.5
* Support compressing basebackups on the fly
* Add ``archive_sync`` command to sync archive / check archive integrity
* Support different recovery_targets
* Support encryption and integrity protection of the backup files
* Snappy compression support
* Better unittests (also with an actual PostgreSQL)
* Require Python3.4 or newer
* Support prefetching files during restore
* Bug fixes
pghoard 0.9.0 (2015-06-19)
==========================
* Initial release