1.0.0 -> 1.0.1
- Logging function now catches permission and other exceptions to prevent
bringing down the system when events cannot be logged.
- cyanaudit_log_rotate.pl now exits cleanly if there are no events to rotate.
- Instructions now correctly reflect that package is a .zip not .tar.gz
- Installation package now includes all necessary files
- Partition range constraints use >= instead of > now.
0.9.7 -> 1.0.0
- cyanaudit_restore.pl now sets up constraints on restored partition before
setting up inheritance, to avoid locking parent table while constraints are
validated.
- cyanaudit_log_rotate.pl now correctly recreates constraints on archived table.
- fn_create_partition_indexes() now works correctly with non-default tablespace.
- fn_prune_archive(), called by cyanaudit_log_rotate.pl, now correctly drops the
extension dependency before dropping the table.
- cyanaudit_restore.pl now correctly archives the partition before restoring.
0.9.6 -> 0.9.7
- Can now log tables with multi-column PKs.
- Specific trigger function no longer created for each table. Instead, a
generic logging function is called by customized triggers.
- cyanaudit_{dump/restore}.pl use md5 checksums to validate file integrity.
- cyanaudit_dump.pl checks currency of output file based on mtime and last
recorded timestamp of the partition (log table) being backed up.
- cyanaudit_dump.pl is no longer responsible for dropping old tables.
cyanaudit_log_rotate.pl is now responsible for archiving and dropping tables.
- Log partition tables are now named according to when they start rather than
end, and there is no more tb_audit_current (so that it doesn't have to be
renamed upon rotate, and can be backed up and restored correctly).
- DROP EXTENSION without CASCADE now silently drops all triggers and log tables.
- CREATE EXTENSION cyanaudit; now does not require schema to be specified.
Extension will automatically create and install into the 'cyanaudit' schema.
- Lots and lots (and lots) of code cleanup.
0.9.5 -> 0.9.6
- Added support for logging tables in schemas other than 'public'. Yay!
- Fixed event trigger, which was inserting schema-qualified table names into
tb_audit_field, which as a result disabled logging on all existing fields.
- Quieted notices regarding truncated trigger and function names
- Created vw_audit_transaction_statement_inverse for pulling the inverse of a
transaction's effective statements (now used by fn_undo_transaction()).
- Simplified code by now requiring at least PostgreSQL version 9.3.3.
- Dropped tb_audit_event.pid, which was not used.
- Dropped unneeded tb_audit_field.audit_data_type and tb_audit_data_type.
0.9.4 -> 0.9.5
- Fixed incorrect behavior when cyanaudit.user_table_username_col was not
correctly set.
- Fixed bug when specifying -c option to cyanaudit_dump.pl, such that some files
would be overwritten when they already existed, and some would not be written
even if they didn't yet exist.
- Fixed a couple of minor aesthetic issues with cyanaudit_dump.pl
- Fixed auto-activate logic for new rows in tb_audit_field
- Fixed malfunction when database name had characters that needed to be quoted
- Fixed behavior with cyanaudit_restore.pl restoring archives not in current dir
0.9.3 -> 0.9.4
- Fixed error where pg_restore was trying to create triggers pointing to
functions that did not exist
0.9.2 -> 0.9.3
- Fixed error where event trigger threw an exception when running as
unprivileged user.
- Tables restored with cyanaudit_restore.pl are now placed into the correct
tablespace and also altered to be owned by the cyanaudit extension.
- More intelligent naming of tables created by cyanaudit_restore.pl. Name of
table will be taken from filename if it looks reasonable, otherwise it will be
named dynamically according to the last recorded event in the table.
- Fixed concurrency problem when restoring a cyanaudit-enabled database with
pg_restore -j ##.
0.9.1 -> 0.9.2
- Fixed cyanaudit_log_rotate.pl to correctly move archived table to
archive_tablespace and create new table in pg_default tablespace.
- Fixed two functions that were being created in public schema instead of
extensions's schema.
- Configuration parameters are now stored on the database instead of in
postgresql.conf. After upgrade, you may remove the cyanaudit.* config
parameters from postgresql.conf. However, for PostgreSQL 9.1, you must retain
the
custom_variable_classes = cyanaudit
setting.
0.9.0 -> 0.9.1
- Do not install event trigger on PostgreSQL 9.3.2 or below, as it is not
handled properly by pg_dump.
0.4 -> 0.9.0
- Made Cyan Audit ready for PGXN
- Changed to semantic version number
0.3 -> 0.4
- Changed extension name to "cyanaudit" and fixed branding throughout.
- Added check for PostgreSQL 9.1.7
- Added support for archiving and restoring audit data to/from files.
- Better error checking throughout and during installation.
- Moved log rotation function to an external Perl script to avoid race condition
- Fixed bug with audit_event sequence going out of range
- Added DDL trigger for Postgres 9.3 and above
0.2 -> 0.3
- Lots of fixes for pg_dump/pg_restore and schema qualification
- Added sequences sq_pk_audit_field and sq_pk_audit_data_type as config data
0.1 -> 0.2
- fn_update_audit_log_trigger_on_table()
- Config tables tb_audit_field and tb_audit_data_type