supabase / postgres

Unmodified Postgres with some useful plugins

Home Page:https://supabase.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot `ALTER EXTENSION` due to owner conflicts

henningko opened this issue · comments

Bug report

  • I confirm this is a bug with Supabase, not with my own application.
  • I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug

When trying to alter an an extension in a migration after installation in a previous migration, the operation fails due to ownership conflicts.

To Reproduce

Steps to reproduce the behavior, please provide code snippets or a repository:

  1. Create a migration with
CREATE EXTENSION "vector";
ALTER EXTENSION "vector" SET SCHEMA extensions;
  1. The following error is returned
Error: ERROR: must be owner of extension vector (SQLSTATE 42501)
At statement 2: ALTER EXTENSION "vector" SET SCHEMA extensions

This is due to the extension having the id of supabase_admin as its user listed in pg_extension.extowner. However, via the CLI, it is not possible to change extowner to the id of postgres, and there seems to be no programmatic way of changing the owner of an extension.

In some cases, the extension can be dropped and reinstalled. But if you already use a vector data type in a table, the operation will fail.

Expected behavior

alter extension [ext] set schema [schema] should work via the CLI as long as the extension is relocatable.

System information

  • OS: macOS
  • Version of supabase-cli: 1.50.4

Transferred from CLI repo because it also affects the hosted platform.