From 1d2600f053689521a2239de9ea537c0ba0893a21 Mon Sep 17 00:00:00 2001 From: Michael Mraka Date: Mon, 20 Apr 2026 10:39:44 +0200 Subject: [PATCH] RHINENG-25900: grant permissions after pg_repack recreate --- turnpike/controllers/database.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/turnpike/controllers/database.go b/turnpike/controllers/database.go index d6d5e5117..3f9621571 100644 --- a/turnpike/controllers/database.go +++ b/turnpike/controllers/database.go @@ -24,12 +24,16 @@ type Session struct { // @Failure 500 {object} map[string]interface{} // @Router /database/pg_repack/recreate [put] func RepackRecreateHandler(c *gin.Context) { - if err := database.DB.Exec("DROP EXTENSION IF EXISTS pg_repack CASCADE").Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"err": err.Error()}) - return + runSequence := []string{ + "DROP EXTENSION IF EXISTS pg_repack CASCADE", + "CREATE EXTENSION pg_repack", + "GRANT USAGE ON SCHEMA repack TO vmaas_sync", } - if err := database.DB.Exec("CREATE EXTENSION pg_repack").Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"err": err.Error()}) + for _, query := range runSequence { + if err := database.DB.Exec(query).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"err": err.Error()}) + return + } } c.JSON(http.StatusOK, "pg_repack extension re-created") }