6.4 Indexing and Vacuuming the Archive Database

The Archive server stores the metadata information of the versions of the files in the PostgreSQL database. The metadata information is stored in multiple tables that are associated with specific jobs. Based on the policies defined for each job, multiple records are created for each of the versioned files.

The archive database (PostgreSQL) requires indexing and vacuuming to scan the tables, marking that are no longer needed as free space so that they can be overwritten by newly inserted or updated data. Based on the size of your database, you can vary the frequency of running the INDEX and VACUUM command.

For each job, ArkManager creates multiple tables such as file table (arkdataxxxxx_f), user table (arkdataxxxxx_u), history table (arkdataxxxxx_h) and metadata table (arkdataxxxxx_m). Since the file table contains the maximum entries, this needs to be vacuumed periodically. To run the INDEX and VACCUM command on the file table, execute the following:

  1. Login to the Archive database using psql:

    psql -d archive_database -U arkuser -p 5432

  2. Create a index on each arkdataxxxxx_h table for file_key

    CREATE INDEX idx_arkdata114901_h (file_key ASC NULLS LAST)

  3. At the server console command prompt, run the following command: vacuumdb -U arkuser -d archive_database -z -t arkdataxxxxx_f -v -e

    Vacuum on arkdataxxxxx_f table increases the performance of the database.

  4. Specify the arkuser password when prompted.

    Repeat this procedure for every file table in the database.