58.1. Creating a Housekeeping Rule #

  1. In the navigation panel, go to SettingsRepository.

  2. In the top-right corner of the page, click Create rule.

  3. Specify parameters of the new housekeeping rule (parameters marked with an asterisk are required):

    • Instance: The instance where the repository database is located.

    • Name.

    • Schema: The schema where the table is located.

    • Table: The table that will be cleaned.

    • Timestamp column: The table column that contains the timestamp used to determine the data age. You can select columns with the timestamptz or bigint data type. If the bigint column is selected, the following parameter is displayed:

      • Timestamp data type: The timestamp format for determining the data age.

        Possible values:

        • unix

        • unix_nano

    • Storage: The maximum time the table data can be stored before deletion.

      Specify a value in one of the following formats:

      • <number_of_hours>h<number_of_minutes>m, for example, 24h00m

      • <number_of_hours>h, for example, 24h

      • <number_of_minutes>m, for example, 24m

    • Auto-run schedule: Specifies whether the housekeeping rule is auto-run or not.

      If this toggle is turned on, specify the interval for cleaning the table in one of the following ways:

      • In Schedule in the crontab format, enter the string in the crontab format.

      • Click Configuring schedule, and then specify the following parameters:

        • Interval: The unit of measurement of the interval.

          Possible values:

          • Minutes

          • Hours

          • Days

        • Repeat every: The interval for cleaning the table by minutes or hours.

          This parameter is available only if you select Minutes or Hours from Interval.

        • Execution days: The days when the table will be cleaned.

        • Cron total line: The string in the crontab format that specifies the time interval for cleaning the table.

        After configuring the interval, click Save.

    • Description: The description of the task.

    • Additional conditions: Housekeeping rule conditions.

      To add a housekeeping rule condition, click Add condition, and then specify the following parameters:

      • Field: The table field for the housekeeping rule condition.

      • Condition: The logical operator of the housekeeping rule condition.

        Possible values:

        • =

        • IN

        • NOT IN

        • LIKE

        • NOT LIKE

        • >

        • <

        • REGEXP

        • NOT REGEXP

      • Value type: The type of the value of the housekeeping rule condition.

        Possible values:

        • Literal

        • Function

          Currently, the only function you can use is now. This function takes the current timestamp. It can be selected in the Value parameter below only for the following logical operators from the Condition parameter: >, <, , and . When selected, the following parameter is displayed:

          • Timestamp data type: The timestamp format used for correct comparison of the now function with the selected field.

            Possible values:

            • timestamptz

            • unix

            • unix_nano

      • Value: The value of the housekeeping rule condition.

      For example, if you select oid from Field, = from Condition, Literal from Value type, and enter 10 in Value, the data is deleted if the value of the oid table field is equal to 10.

      After configuring the housekeeping rule condition, click Save.

      You can add multiple housekeeping rule conditions by clicking Add condition. In this case, the AND logical connective is used.

    • Action after cleaning: The action that will be performed after cleaning the table.

      To add an action, click Add action, and then select the action. Currently, the only supported action is table vacuuming.

      You can also enable the following checkboxes:

      • Analyze: Update the table statistics.

      • Full: Run the VACUUM FULL command.

        In this case, more data is vacuumed, but the operation takes longer to complete and locks the table.

      • Freeze: Perform an aggressive tuple freeze.

        This is equivalent to running the VACUUM command with the vacuum_freeze_min_age parameter set to 0.

      After adding the action, click Save.

      You can add multiple actions by clicking Add action.

  4. Click Create.