-
Notifications
You must be signed in to change notification settings - Fork 219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generic Extension Strategy #70
Comments
Hey, yes we have a few options for doing generic extensions and a few problems to solve to enable them. So far to enable pl/pgsql we had to statically link the extension to the build. It should be possible to dynamically link extensions but I believe #56 is what cased issues when I tried to enable this. One thing to consider is that for the main binary to support arbitrary dynamically loaded extensions we would have to disable any dead code elimination, this will make the build larger. I suspect we will have to have a special WASM binary that enables loadable extensions and others that have a few key ones statically likened, and a minimal build too. |
Ok, great, I'll keep an eye on this space. And just FYI the extensions would be: |
these extensions are hander cause then use |
My vote is for |
Will the Wasm component model be the nicest long-term solution here? My understanding is that this allows some form of dynamic linking. Each extension might be its own Wasm binary that can be dynamically loaded plug-and-play style for the developer. |
@lastmjs yes ideally we will have dynamic loading of extensions. There is some complexity around this as it will likely add a little overhead. The current intention is that core extension such as pl/pgsql will be staticky linked (we have this one already working with static linking) |
Lets say I have a few extensions that the pglite repo doesn't know about, will the expected workflow be to fork pglite, add those extensions as part of the build process, then build it myself?
I have a bunch of extensions I'd like to see used in my pglite db, but doesn't seem like those should be part of the default offering.
The text was updated successfully, but these errors were encountered: