Some extensions not available and unable to be installed/enabled, although listed in this repo
Closed this issue · 1 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
First of all, I just wanted to thank you for your efforts - Supabase is a great piece of software!
I found myself trying to add extensions, that are listed in this repo's README Supabase Postgres README - in my case it is wal2json, being listed under all Postgres Versions 15, 17 and orioledb-17. The wiki link on how to install them is not available as stated here Issue 1176. wal2json is also stated to be included in this blog post on this release announcement Supabase Blog Postgres 13, as well as in a discussion on Discord related Discord Message and in this issue solution.
The README of this repo is somewhat ambiguous, as it states it's motivation is to "Show off a few of Postgres' most exciting features.", leaving it open to interpretation whether the listed extensions are actually available to be used or just for listing them, analogous to an "Awesome Supabase List" for useful extensions. The docs on extensions seem to list available extensions, however this list if not fully compatible with the this repo's README.
These are the extensions, that seem to be missing in the docs' extension search tool and Supabase Studio > Database > Extensions:
- pg-safeupdate
- pg_plan_filter
- pg_tle
- plpgsql-check
- supabase-wrappers (not listed, but presumably used internally and not something to be explicitly enabled or disabled)
- supautils (probably also used internally?)
- vault (presumably enabled by default Database Vault)
- wal2json
The greater issue:
Apart from not being listed in the relevant places (Docs' Extensions search tool and Supabase Studio > Database > Extensions), I fail to add the wal2json extension manually.
I tried this command:
create extension wal2json with schema extensions;
yielding the following error:
ERROR: 0A000: extension "wal2json" is not available DETAIL: Could not open extension control file "/usr/lib/postgresql/share/postgresql/extension/wal2json.control": No such file or directory. HINT: The extension must first be installed on the system where PostgreSQL is running.
This error leads me to assume, that the compiled extension is missing in the container, contradicting the implied behaviour stated in the README: "Our goal with this repo is not to modify Postgres, but to provide some of the most common extensions with a one-click install."
To Reproduce
-
Go to any 'Supabase Studio' instance - same behaviour in Supabase Cloud and self-hosted.
-
Click on 'Database'
-
Click on 'Extensions'
-
Type in 'wal2json' in search
-
See extension not being listed
-
Go to any 'Supabase Studio' instance - same behaviour in Supabase Cloud and self-hosted.
-
Click on 'SQL Editor'
-
Paste in
create extension wal2json with schema extensions; -
Run the command
-
See error
Expected behavior
I expected the extension to be able to be enabled, yielding a result of "Success. No rows returned" within the SQL Editor or to find wal2json in the Extensions section in Studio, enabling me to perform a successful toggle switch on the extension.
System information
Self-hosted:
- MacOS 15.4.1 on Apple M1, Docker Engine: 28.1.1, Compose: v2.35.1-desktop.1
Problem is reproducible on instances provided on Supabase infra.
Thank you for your time!
Closing this because I found the solution.
For anyone running into this problem in the future: wal2json is already installed and running in the Supabase postgres image and it does not have to be enabled manually - this will probably also apply to the extensions, that are listed in this repo's README, but not in docs search tool. If you're aiming to use services like MeiliSync that depend on wal2json you don't have to do anything custom - Supabase Postgres already provides this.