v0.2.0b2 #194
Closed
wwoytenko
announced in
Announcements
v0.2.0b2
#194
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Greenmask 0.2.0b2
This major beta release introduces new features such as the database subset, pgzip support, restoration in
topological, and many more. It also includes fixes and improvements.
Preface
This release is a major milestone that significantly expands Greenmask's functionality, transforming it into a simple,
extensible, and reliable solution for database security, data anonymization, and everyday operations. Our goal is to
create a core system that can serve as a foundation for comprehensive dynamic staging environments and robust data
security.
Latest documentation version
Notable changes
Database Subset - a new feature that allows you to define a subset of the database,
allowing you to scale down the dump size (#110). This is
robust for multipurpose and especially useful for testing and development environments. It supports:
for the FK reference with NULL values to include them in the subset.
FK in Greenmask that will be used for subset dependencies graph. The virtual reference can be defined for a column
or an expression, allowing you to get the value from JSON and similar.
circular dependencies in the subset by generating a recursive query. The query is generated with integrity checks
of the subset ensuring that the data gathered from circular dependencies is consistent.
and examples.
recursive query for the SCC whether it is a single cycle or multiple cycles, making the subset system universal
for any database schema.
pgzip support for faster compression
and decompression — setting
--pgzip
can speed up the dump andrestoration processes through parallel compression. In some tests, it shows up to 5x faster dump and restore
operations.
Restoration in topological order - This flag ensures
that dependent tables are not restored until the tables they depend on have been restored. This is useful when you
want to be notified of errors as immediately as possible without waiting for the entire table to be restored.
Insert format restoration - For a flexible restoration
process, Greenmask now supports data restoration in the
INSERT
format. It generates the insert statements based onCOPY
records from the dump. You do not need to re-dump your data to use this feature; it can be defined in therestore
command. The list of new features related to theINSERT
format:INSERT
statements with the**ON CONFLICT DO NOTHING**
clause if the flag--on-conflict-do-nothing
is set.
certain errors and continue inserting subsequent rows from the dump.
want to insert data periodically from another source, this can be used together with the database subset and
transformations to catch up the target database.
Restore data batching (#173) -
By default, the COPY protocol returns the error only on the transaction commit. To override this behavior, use the
--batch-size
flag to specify the number of rows to insert in a single batch during the COPY command. This is usefulwhen you want to control the transaction size and commit.
Introduced
keep_null
parameter forRandomPerson
transformer.Fixes and improvements
validate
command with the--table
flag, which had thewrong order of the table name representation
{{ table_name }}.{{ schema }}
instead of{{ schema }}.{{ table_name }}
.Row.SetColumn
out of range validation.restoreWorker
panic caused when the worker received an error from pgx.handling in the
restore
command.jobs now start a transaction for each table restoration and commit it after the table restoration is done.
--exit-on-error
works incorrectly in therestore
command. Now, the--exit-on-error
flag works correctly with thedata
section.validate
command.latest
to exclude specifickeywords.
in the
RandomPerson
transformer.parameters such as
--exclude-table
,--table
, etc.buffer limit in the
Email
transformer.columns_type_override
did not work.just ignored instead of throwing an error.
min
andmax
parameter values were ignoredin transformers
NoiseDate
,NoiseNumeric
,NoiseFloat
,NoiseInt
,RandomNumeric
,RandomFloat
, andRandomInt
.newline and semicolon. Now backward pg_dump call
pg_restore 1724504511561 --file 1724504511561.sql
is backwardcompatible and works as expected.
generated column.
Full Changelog: v0.2.0b1...v0.2.0b2
Contributors
Special thanks
Playground usage for the beta version
If you want to run a Greenmask playground for the beta version v0.2.0b2 execute:
Links
Feel free to reach out to us if you have any questions or need assistance:
This discussion was created from the release v0.2.0b2.
Beta Was this translation helpful? Give feedback.
All reactions