14.3. ETL Operations and Privileges #

This section explains what privileges are required for the existing ETL operations.

cleanup #

Only the metastore_admin user.

define_catalog_connection() #

Only the metastore_admin user.

This operation is SECURITY DEFINER and can only be executed with superuser privileges. You may have to update the Postgres Pro AXE DBMS system catalog, to which metastore_admin does not have access.

init() #

Only the metastore_admin user.

add_storage/remove_storage #

Only the metastore_admin user.

When one of these ETL operations is executed, a proxy table owned by the metastore_admin user and corresponding to the storage is created or deleted from the pgpro_metastore schema.

add_table/remove_table #

Only the metastore_admin user.

When one of these ETL operations is executed, a proxy table owned by the metastore_admin user and corresponding to the table is created or deleted from the pgpro_metastore schema.

add_folder/remove_folder #

Only the metastore_admin user.

When one of these ETL operations is executed, a proxy table owned by the metastore_admin user and corresponding to the shared directory is created or deleted from the pgpro_metastore schema.

add_files #

Users that are granted privileges to:

  • insert in the pga_table metadata table

  • read the pga_folder metadata table if Parquet files are added from a shared directory specified in this table

copy_table #

Users that are granted privileges to:

  • insert in the pga_table metadata table

  • execute the query specified by the second parameter

This ETL operation is SECURITY DEFINER.

create_view #

Users that are granted privileges to:

  • read the pga_table metadata table

  • create views in the Postgres Pro schema

This ETL operation is SECURITY DEFINER.