| From: | Ayush Vatsa <ayushvatsa1810(at)gmail(dot)com> |
|---|---|
| To: | Rahila Syed <rahilasyed90(at)gmail(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Clarification on when _PG_init() is invoked for extensions |
| Date: | 2025-11-20 17:52:41 |
| Message-ID: | CACX+KaMdJ7Avd945971cZQyD5dQF7ypJqrKL9dLSy45bNfkaYg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
CREATE extension does not automatically load or ensure that _PG_init() is
> run.
> It mainly runs the .sql script in your extension.
>
Thanks for the clarification. However, in my testing, _PG_init() did run
when I executed
CREATE EXTENSION. I suspect this might be happening because the SQL script
defines
C functions using MODULE_PATHNAME, which triggers the library load.
In a new session, _PG_init() seems to run again when any of those C
functions are executed.
*My use case:*
My use case is that I’m building an experimental extension that will be
installed only in a few
databases. I want the hooks initialized by this extension to apply only to
those specific
databases, while all other databases should continue with the default
PostgreSQL behavior.
Thank you,
Ayush
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Dagfinn Ilmari Mannsåker | 2025-11-20 17:55:05 | Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access) |
| Previous Message | Melanie Plageman | 2025-11-20 17:19:58 | Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access) |