Skip to content

Change database owner in AWS deployment

During normal vacuuming maintenance, I noticed this output (selectively grep'ed for clarity):

root@449b4e49877c:/app/gracedb_project# PGPASSWORD=$DJANGO_DB_PASSWORD psql -h $DJANGO_DB_HOST -U $DJANGO_DB_USER -c "VACUUM VERBOSE ANALYZE;" $DJANGO_DB_NAME 2>&1 | grep superuser
WARNING:  skipping "pg_statistic" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_type" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_largeobject" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_largeobject_loid_pn_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_foreign_table" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_toast_1262_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_2964_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_1213_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_1260_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_2396_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6000_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_3592_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6243_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6100_index" --- only superuser can vacuum it
WARNING:  skipping "pg_proc_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_proc_proname_args_nsp_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_type_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_type_typname_nsp_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_attribute_relid_attnam_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_attribute_relid_attnum_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_class_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_class_relname_nsp_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_class_tblspc_relfilenode_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_attrdef_adrelid_adnum_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_attrdef_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_constraint_conname_nsp_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_constraint_conrelid_contypid_conname_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_constraint_contypid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_constraint_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_constraint_conparentid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_inherits_relid_seqno_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_inherits_parent_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_index_indrelid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_index_indexrelid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_operator_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_operator_oprname_l_r_n_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_opfamily_am_name_nsp_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_opfamily_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_opclass_am_name_nsp_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_opclass_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_am_name_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_am_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_amop_fam_strat_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_amop_opr_fam_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_amop_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_amproc_fam_proc_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_amproc_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_language_name_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_language_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_largeobject_metadata_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_aggregate_fnoid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statistic_relid_att_inh_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statistic_ext_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statistic_ext_name_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statistic_ext_relid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statistic_ext_data_stxoid_inh_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_rewrite_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_rewrite_rel_rulename_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_trigger_tgconstraint_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_trigger_tgrelid_tgname_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_trigger_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_event_trigger_evtname_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_event_trigger_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_description_o_c_o_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_cast_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_cast_source_target_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_enum_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_enum_typid_label_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_enum_typid_sortorder_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_namespace_nspname_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_namespace_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_conversion_default_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_conversion_name_nsp_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_conversion_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_depend_depender_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_depend_reference_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_database_datname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_database_oid_index" --- only superuser can vacuum it
WARNING:  skipping "pg_db_role_setting_databaseid_rol_index" --- only superuser can vacuum it
WARNING:  skipping "pg_tablespace_oid_index" --- only superuser can vacuum it
WARNING:  skipping "pg_tablespace_spcname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_authid_rolname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_authid_oid_index" --- only superuser can vacuum it
WARNING:  skipping "pg_auth_members_role_member_index" --- only superuser can vacuum it
WARNING:  skipping "pg_auth_members_member_role_index" --- only superuser can vacuum it
WARNING:  skipping "pg_shdepend_depender_index" --- only superuser can vacuum it
WARNING:  skipping "pg_shdepend_reference_index" --- only superuser can vacuum it
WARNING:  skipping "pg_shdescription_o_c_index" --- only superuser can vacuum it
WARNING:  skipping "pg_ts_config_cfgname_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_config_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_config_map_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_dict_dictname_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_dict_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_parser_prsname_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_parser_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_template_tmplname_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_template_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_extension_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_extension_name_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_foreign_data_wrapper_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_foreign_data_wrapper_name_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_foreign_server_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_foreign_server_name_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_user_mapping_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_user_mapping_user_server_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_foreign_table_relid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_policy_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_policy_polrelid_polname_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_replication_origin_roiident_index" --- only superuser can vacuum it
WARNING:  skipping "pg_replication_origin_roname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_default_acl_role_nsp_obj_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_default_acl_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_init_privs_o_c_o_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_seclabel_object_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_shseclabel_object_index" --- only superuser can vacuum it
WARNING:  skipping "pg_collation_name_enc_nsp_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_collation_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_parameter_acl_parname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_parameter_acl_oid_index" --- only superuser can vacuum it
WARNING:  skipping "pg_partitioned_table_partrelid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_range_rngtypid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_range_rngmultitypid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_transform_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_transform_type_lang_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_sequence_seqrelid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_publication_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_publication_pubname_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_publication_namespace_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_publication_namespace_pnnspid_pnpubid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_publication_rel_oid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_publication_rel_prrelid_prpubid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_publication_rel_prpubid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_subscription_oid_index" --- only superuser can vacuum it
WARNING:  skipping "pg_subscription_subname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_subscription_rel_srrelid_srsubid_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_shadow" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_authid" --- only superuser can vacuum it
WARNING:  skipping "pg_roles" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_settings" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statistic_ext_data" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_file_settings" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_hba_file_rules" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ident_file_mappings" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_config" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_shmem_allocations" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_backend_memory_contexts" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_largeobject_metadata" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_aggregate" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statistic_ext" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_rewrite" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_user_mapping" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_subscription" --- only superuser can vacuum it
WARNING:  skipping "pg_attribute" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_proc" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_class" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_attrdef" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_constraint" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_inherits" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_activity" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_replication_origin_status" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_replication" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_slru" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_wal_receiver" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_recovery_prefetch" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_operator" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_group" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_user" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_policies" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_rules" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_views" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_tables" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_matviews" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_indexes" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_sequences" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stats" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stats_ext" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stats_ext_exprs" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_publication_tables" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_locks" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_cursors" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_available_extensions" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_available_extension_versions" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_prepared_xacts" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_prepared_statements" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_seclabels" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_timezone_abbrevs" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_timezone_names" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_sys_tables" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_xact_sys_tables" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_user_tables" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_all_tables" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_xact_all_tables" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_xact_user_tables" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statio_all_tables" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statio_sys_tables" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statio_user_tables" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_all_indexes" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_sys_indexes" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_user_indexes" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statio_all_indexes" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statio_sys_indexes" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statio_user_indexes" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statio_all_sequences" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statio_sys_sequences" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_statio_user_sequences" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_subscription" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_ssl" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_gssapi" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_replication_slots" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_replication_slots" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_database" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_database_conflicts" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_user_functions" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_xact_user_functions" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_archiver" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_bgwriter" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_wal" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_progress_analyze" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_progress_vacuum" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_progress_cluster" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_progress_create_index" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_progress_basebackup" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_progress_copy" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_user_mappings" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_stat_subscription_stats" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_toast_1262" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_2964" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_1213" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_1260" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_2396" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6000" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_3592" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6243" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6100" --- only superuser can vacuum it
WARNING:  skipping "pg_opfamily" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_opclass" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_am" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_amop" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_amproc" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_language" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_trigger" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_event_trigger" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_description" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_cast" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_enum" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_namespace" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_conversion" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_depend" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_database" --- only superuser can vacuum it
WARNING:  skipping "pg_db_role_setting" --- only superuser can vacuum it
WARNING:  skipping "pg_tablespace" --- only superuser can vacuum it
WARNING:  skipping "pg_auth_members" --- only superuser can vacuum it
WARNING:  skipping "pg_shdepend" --- only superuser can vacuum it
WARNING:  skipping "pg_shdescription" --- only superuser can vacuum it
WARNING:  skipping "pg_ts_config" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_config_map" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_dict" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_parser" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_ts_template" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_extension" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_foreign_data_wrapper" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_foreign_server" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_policy" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_replication_origin" --- only superuser can vacuum it
WARNING:  skipping "pg_default_acl" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_init_privs" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_seclabel" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_shseclabel" --- only superuser can vacuum it
WARNING:  skipping "pg_collation" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_parameter_acl" --- only superuser can vacuum it
WARNING:  skipping "pg_partitioned_table" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_range" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_transform" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_sequence" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_publication" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_publication_namespace" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_publication_rel" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_subscription_rel" --- only superuser or database owner can vacuum it

All in all, there are 279 tables that aren't being analyzed and vacuumed.

I don't have a good idea of the performance impact, if at all, that not analyzing and vacuuming those tables might have. And either way, the individual tier's user should have ownership of that tier's database. Logging into psql as the postgres user. Note, get the gracedb_swarm_rds_master_password from the tier's ansible secret:

# psql -h $DJANGO_DB_HOST -U postgres --password --dbname=$DJANGO_DB_NAME

Now look at who is the owner of the database, in this scenario, gracedb_test:

gracedb_test=> SELECT d.datname as "Name",
pg_catalog.pg_get_userbyid(d.datdba) as "Owner"
FROM pg_catalog.pg_database d
WHERE d.datname = 'gracedb_test'
ORDER BY 1;
     Name     |  Owner
--------------+----------
 gracedb_test | postgres
(1 row)

The owner is postgres, which is why many of those tables can't be analyzed and vacuumed. This line of sql can change it:

gracedb_test=> alter database gracedb_test owner to gracedb_test;
ALTER DATABASE

And now the vaccuming statement is:

# PGPASSWORD=$DJANGO_DB_PASSWORD psql -h $DJANGO_DB_HOST -U $DJANGO_DB_USER -c "VACUUM VERBOSE ANALYZE;" $DJANGO_DB_NAME 2>&1 | grep superuser
WARNING:  skipping "pg_toast_1262_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_2964_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_1213_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_1260_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_2396_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6000_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_3592_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6243_index" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6100_index" --- only superuser can vacuum it
WARNING:  skipping "pg_database_datname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_database_oid_index" --- only superuser can vacuum it
WARNING:  skipping "pg_db_role_setting_databaseid_rol_index" --- only superuser can vacuum it
WARNING:  skipping "pg_tablespace_oid_index" --- only superuser can vacuum it
WARNING:  skipping "pg_tablespace_spcname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_authid_rolname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_authid_oid_index" --- only superuser can vacuum it
WARNING:  skipping "pg_auth_members_role_member_index" --- only superuser can vacuum it
WARNING:  skipping "pg_auth_members_member_role_index" --- only superuser can vacuum it
WARNING:  skipping "pg_shdepend_depender_index" --- only superuser can vacuum it
WARNING:  skipping "pg_shdepend_reference_index" --- only superuser can vacuum it
WARNING:  skipping "pg_shdescription_o_c_index" --- only superuser can vacuum it
WARNING:  skipping "pg_replication_origin_roiident_index" --- only superuser can vacuum it
WARNING:  skipping "pg_replication_origin_roname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_shseclabel_object_index" --- only superuser can vacuum it
WARNING:  skipping "pg_parameter_acl_parname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_parameter_acl_oid_index" --- only superuser can vacuum it
WARNING:  skipping "pg_subscription_oid_index" --- only superuser can vacuum it
WARNING:  skipping "pg_subscription_subname_index" --- only superuser can vacuum it
WARNING:  skipping "pg_authid" --- only superuser can vacuum it
WARNING:  skipping "pg_subscription" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_1262" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_2964" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_1213" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_1260" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_2396" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6000" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_3592" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6243" --- only superuser can vacuum it
WARNING:  skipping "pg_toast_6100" --- only superuser can vacuum it
WARNING:  skipping "pg_database" --- only superuser can vacuum it
WARNING:  skipping "pg_db_role_setting" --- only superuser can vacuum it
WARNING:  skipping "pg_tablespace" --- only superuser can vacuum it
WARNING:  skipping "pg_auth_members" --- only superuser can vacuum it
WARNING:  skipping "pg_shdepend" --- only superuser can vacuum it
WARNING:  skipping "pg_shdescription" --- only superuser can vacuum it
WARNING:  skipping "pg_replication_origin" --- only superuser can vacuum it
WARNING:  skipping "pg_shseclabel" --- only superuser can vacuum it
WARNING:  skipping "pg_parameter_acl" --- only superuser can vacuum it

Which is now 48 tables, so progress? I ran this on dev/test, without any alarms or errors and client integration tests are working. So I'll test it on playground shortly and then prod during maintenance tomorrow.

gracedb tier ownership changed?
gracedb-dev
gracedb-test
gracedb-playground
gracedb
Edited by Alexander Pace
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information