E-Maj functions list ==================== The E-Maj functions that are available to users can be grouped into **3 categories**. They are listed below, in **alphabetic order**. They are all callable by roles having *emaj_adm* privileges. The charts also specifies those callable by **emaj_viewer** roles (sign **(V)** behind the function name). Tables or sequences level functions ----------------------------------- +--------------------------------------------------+-------------------------------+---------------------------------------+ | **Functions** | **Input parameters** | **Output data** | +==================================================+===============================+=======================================+ | :ref:`emaj_assign_sequence | | schema TEXT, | 1 INT | | ` | | sequence TEXT, | | | | | group TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_assign_sequences | | schema TEXT, | #.sequences INT | | ` | | sequences.array TEXT[], | | | | | group TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_assign_sequences | | schema TEXT, | #.sequences INT | | ` | | sequences.to.include.filter | | | | | TEXT, | | | | | sequences.to.exclude.filter | | | | | TEXT, | | | | | group TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_assign_table | | schema TEXT, | 1 INT | | ` | | table TEXT, | | | | | group TEXT, | | | | | [ properties JSONB ] | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_assign_tables | | schema TEXT, | #.tables INT | | ` | | tables.array TEXT[], | | | | | group TEXT, | | | | | [ properties JSONB ] | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_assign_tables | | schema TEXT, | #.tables INT | | ` | | tables.to.include.filter | | | | | TEXT, | | | | | tables.to.exclude.filter | | | | | TEXT, | | | | | group TEXT, | | | | | [ properties JSONB ] | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_get_assigned_group_sequence | | schema TEXT, | group TEXT | | ` (V) | | sequence TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_get_assigned_group_table | | schema TEXT, | group TEXT | | ` (V) | | table TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_get_current_log_table | | schema TEXT, | (log.schema TEXT, log.table TEXT) | | ` (V) | | table TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_log_stat_table | | schema TEXT, | SETOF emaj_log_stat_table_type | | ` (V) | | table TEXT, | | | | | [ start.date-time | | | | | TIMESTAMPTZ, ] | | | | | [ end.date-time | | | | | TIMESTAMPTZ ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_log_stat_table | | schema TEXT, | SETOF emaj_log_stat_table_type | | ` (V) | | table TEXT, | | | | | start.group TEXT, | | | | | start.mark TEXT, | | | | | [ end.group TEXT, | | | | | end.mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_log_stat_sequence | | schema TEXT, | SETOF emaj_log_stat_sequence_type | | ` (V) | | sequence TEXT, | | | | | [ start.date-time | | | | | TIMESTAMPTZ, ] | | | | | [ end.date-time | | | | | TIMESTAMPTZ ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_log_stat_sequence | | schema TEXT, | SETOF emaj_log_stat_sequence_type | | ` (V) | | sequence TEXT, | | | | | start.group TEXT, | | | | | start.mark TEXT, | | | | | [ end.group TEXT, | | | | | end.mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_modify_table | | schema TEXT, | #.tables INT | | ` | | table TEXT, | | | | | properties JSONB, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_modify_tables | | schema TEXT, | #.tables INT | | ` | | tables.array TEXT[], | | | | | properties JSONB, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_modify_tables | | schema TEXT, | #.tables INT | | ` | | tables.to.include.filter | | | | | TEXT, | | | | | tables.to.exclude.filter | | | | | TEXT, | | | | | properties JSONB, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_move_sequence | | schema TEXT, | 1 INT | | ` | | sequence TEXT, | | | | | new.group TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_move_sequences | | schema TEXT, | #.sequences INT | | ` | | sequences.array TEXT[], | | | | | new.group TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_move_sequences | | schema TEXT, | #.sequences INT | | ` | | sequences.to.include.filter | | | | | TEXT, | | | | | sequences.to.exclude.filter | | | | | TEXT, | | | | | new.group TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_move_table | | schema TEXT, | 1 INT | | ` | | table TEXT, | | | | | new.group TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_move_tables | | schema TEXT, | #.tables INT | | ` | | tables.array TEXT[], | | | | | new.group TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_move_tables | | schema TEXT, | #.tables INT | | ` | | tables.to.include.filter | | | | | TEXT, | | | | | tables.to.exclude.filter | | | | | TEXT, | | | | | new.group TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_remove_sequence | | schema TEXT, | 1 INT | | ` | | sequence TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_remove_sequences | | schema TEXT, | #.sequences INT | | ` | | sequences.array TEXT[], | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_remove_sequences | | schema TEXT, | #.sequences INT | | ` | | sequences.to.include.filter | | | | | TEXT, | | | | | sequences.to.exclude.filter | | | | | TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_remove_table | | schema TEXT, | 1 INT | | ` | | table TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_remove_tables | | schema TEXT, | #.tables INT | | ` | | tables.array TEXT[], | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_remove_tables | | schema TEXT, | #.tables INT | | ` | | tables.to.include.filter | | | | | TEXT, | | | | | tables.to.exclude.filter | | | | | TEXT, | | | | | [ mark TEXT ] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ ---- Groups level functions ---------------------- +--------------------------------------------------+-------------------------------+---------------------------------------+ | **Functions** | **Input parameters** | **Output data** | +==================================================+===============================+=======================================+ | :ref:`emaj_comment_group | | group TEXT, | | | ` | | comment TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_comment_mark_group | | group TEXT, | | | ` | | mark TEXT, | | | | | comment TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_consolidate_rollback_group | | group TEXT, | #.tables.and.seq INT | | ` | | end.rollback.mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_create_group | | group TEXT, | 1 INT | | ` | | [is.rollbackable BOOLEAN], | | | | | [comment TEXT] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_delete_before_mark_group | | group TEXT, | #.deleted.marks INT | | ` | | mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_delete_mark_group | | group TEXT, | 1 INT | | ` | | mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_detailed_log_stat_group | | group TEXT, | SETOF emaj_detailed_log_stat_type | | ` (V) | | start.mark TEXT, | | | | | end.mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :doc:`emaj_detailed_log_stat_groups | | groups.array TEXT[], | SETOF emaj_detailed_log_stat_type | | ` (V) | | start.mark TEXT, | | | | | end.mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_does_exist_group | | group TEXT | BOOLEAN | | ` (V) | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_does_exist_mark_group | | group TEXT, | BOOLEAN | | ` (V) | | mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_drop_group | | group TEXT | #.tables.and.seq INT | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_dump_changes_group | | group TEXT, | msg.#.files BIGINT | | ` | | start.mark TEXT, | | | | | end.mark TEXT, | | | | | options.list TEXT | | | | | tables.seq.array TEXT[] | | | | | output.directory TEXT, | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_estimate_rollback_group | | group TEXT, | duration INTERVAL | | ` (V) | | mark TEXT, | | | | | is.logged BOOLEAN | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :doc:`emaj_estimate_rollback_groups | | groups.array TEXT[], | duration INTERVAL | | ` (V) | | mark TEXT, | | | | | is.logged BOOLEAN | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_force_drop_group | | group TEXT | #.tables.and.seq INT | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_force_stop_group | | group TEXT | #.tables.and.seq INT | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_forget_group | | group TEXT | #.erased.traces INT | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_gen_sql_dump_changes_group | | group TEXT, | msg.#.statements BIGINT | | ` (V) | | start.mark TEXT, | | | | | end.mark TEXT, | | | | | options.list TEXT | | | | | tables.seq.array TEXT[] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_gen_sql_dump_changes_group | | group TEXT, | msg.#.statements BIGINT | | ` | | start.mark TEXT, | | | | | end.mark TEXT, | | | | | options.list TEXT | | | | | tables.seq.array TEXT[] | | | | | output.directory TEXT, | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_gen_sql_group | | group TEXT, | #.gen.statements BIGINT | | ` | | start.mark TEXT, | | | | | end.mark TEXT, | | | | | output.file.path TEXT, | | | | | [tables.seq.array TEXT[]] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :doc:`emaj_gen_sql_groups | | groups.array TEXT[], | #.gen.statements BIGINT | | ` | | start.mark TEXT, | | | | | end.mark TEXT, | | | | | output.file.path TEXT, | | | | | [tables.seq.array TEXT[]] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_get_groups | | [include.filter TEXT], | groups.array TEXT[] | | ` (V) | | [exclude.filter TEXT] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_get_idle_groups | | [include.filter TEXT], | groups.array TEXT[] | | ` (V) | | [exclude.filter TEXT] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_get_logging_groups | | [include.filter TEXT], | groups.array TEXT[] | | ` (V) | | [exclude.filter TEXT] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_get_previous_mark_group | | group TEXT, | mark TEXT | | ` (V) | | date.time TIMESTAMPTZ | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_get_previous_mark_group | | group TEXT, | mark TEXT | | ` (V) | | mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_is_logging_group | | group TEXT | BOOLEAN | | ` (V) | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_log_stat_group | | group TEXT, | SETOF emaj_log_stat_type | | ` (V) | | start.mark TEXT, | | | | | end.mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :doc:`emaj_log_stat_groups | | groups.array TEXT[], | SETOF emaj_log_stat_type | | ` (V) | | start.mark TEXT, | | | | | end.mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_logged_rollback_group | | group TEXT, | SETOF (severity TEXT, message TEXT) | | ` | | mark TEXT, | | | | | [is.alter.group.allowed | | | | | BOOLEAN] | | | | | [comment TEXT] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :doc:`emaj_logged_rollback_groups | | groups.array TEXT[], | SETOF (severity TEXT, message TEXT) | | ` | | mark TEXT, | | | | | [is.alter.group.allowed | | | | | BOOLEAN] | | | | | [comment TEXT] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_protect_group | | group TEXT | 0/1 INT | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_protect_mark_group | | group TEXT, | 0/1 INT | | ` | | mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_rename_mark_group | | group TEXT, | | | ` | | mark TEXT, | | | | | new.name TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_reset_group | | group TEXT | #.tables.and.seq INT | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_rollback_group | | group TEXT, | SETOF (severity TEXT, message TEXT) | | ` | | mark TEXT, | | | | | [is_alter_group_allowed | | | | | BOOLEAN] | | | | | [comment TEXT] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :doc:`emaj_rollback_groups | | groups.array TEXT[], | SETOF (severity TEXT, message TEXT) | | ` | | mark TEXT, | | | | | [is_alter_group_allowed | | | | | BOOLEAN] | | | | | [comment TEXT] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_sequence_stat_group | | group TEXT, | SETOF emaj_sequence_stat_type | | ` (V) | | start.mark TEXT, | | | | | end.mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :doc:`emaj_sequence_stat_groups | | groups.array TEXT[], | SETOF emaj_sequence_stat_type | | ` (V) | | start.mark TEXT, | | | | | end.mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_set_mark_group | | group TEXT, | #.tables.and.seq INT | | ` | | [mark TEXT], | | | | | [comment TEXT] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :doc:`emaj_set_mark_groups | | groups.array TEXT[], | #.tables.and.seq INT | | ` | | [mark TEXT], | | | | | [comment TEXT] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_snap_group | | group TEXT, | #.tables.and.seq INT | | ` | | directory TEXT, | | | | | copy.options TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_start_group | | group TEXT, | #.tables.and.seq INT | | ` | | [mark TEXT], | | | | | [reset.logs BOOLEAN], | | | | | [logging.group.allowed | | | | | BOOLEAN] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :doc:`emaj_start_groups | | groups.array TEXT[], | #.tables.and.seq INT | | ` | | [mark TEXT], | | | | | [reset.logs BOOLEAN], | | | | | [logging.groups.allowed | | | | | BOOLEAN] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_stop_group | | group TEXT, | #.tables.and.seq INT | | ` | | [mark TEXT], | | | | | [reset.logs BOOLEAN], | | | | | [idle.group.allowed | | | | | BOOLEAN] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :doc:`emaj_stop_groups | | groups.array TEXT[], | #.tables.and.seq INT | | ` | | [mark TEXT], | | | | | [reset.logs BOOLEAN], | | | | | [idle.groups.allowed | | | | | BOOLEAN] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_unprotect_group | | group TEXT | 0/1 INT | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_unprotect_mark_group | | group TEXT, | 0/1 INT | | ` | | mark TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ ---- General purpose functions ------------------------- +--------------------------------------------------+-------------------------------+---------------------------------------+ | **Functions** | **Input parameters** | **Output data** | +==================================================+===============================+=======================================+ | :ref:`emaj_cleanup_rollback_state | | #.rollback INT | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_comment_rollback | | rollback.id INT, | | | ` | | comment TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_disable_protection_by_event_triggers | | #.triggers INT | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :doc:`emaj_drop_extension | | | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_enable_protection_by_event_triggers | | #.triggers INT | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_export_groups_configuration | | NULL, | configuration JSON | | ` | | [groups.array TEXT[]] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_export_groups_configuration | | file.path TEXT, | #.groups INT | | ` | | [groups.array TEXT[]] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_export_parameters_configuration | [include.default BOOLEAN] | parameters JSON | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_export_parameters_configuration | | file.path TEXT, | #.parameters INT | | ` | | [include.default BOOLEAN] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_get_consolidable_rollbacks | | SETOF emaj_consolidable_rollback_type | | ` (V) | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_get_version | | version TEXT | | ` (V) | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_import_groups_configuration | | groups JSON, | #.groups INT | | ` | | [groups.array TEXT[]], | | | | | [alter.logging.groups | | | | | BOOLEAN], | | | | | [mark TEXT], | | | | | [drop.other.groups BOOLEAN] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_import_groups_configuration | | file.path TEXT, | #.groups INT | | ` | | [groups.array TEXT[]], | | | | | [alter.logging.groups | | | | | BOOLEAN], | | | | | [mark TEXT], | | | | | [drop.other.groups BOOLEAN] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_import_parameters_configuration | | parameters JSON, | #.parameters INT | | ` | | [reset.others BOOLEAN)] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_import_parameters_configuration | | file.path TEXT, | #.parameters INT | | ` | | [reset.others BOOLEAN)] | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_purge_histories | [retention.delay INTERVAL] | execution.report TEXT | | ` | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_rollback_activity | | SETOF emaj_rollback_activity_type | | ` (V) | | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_set_param | | key TEXT, | #.modified.parameters INT | | ` | | value TEXT | | +--------------------------------------------------+-------------------------------+---------------------------------------+ | :ref:`emaj_verify_all | | SETOF TEXT | | ` (V) | | | +--------------------------------------------------+-------------------------------+---------------------------------------+