Re: Clarification on when _PG_init() is invoked for extensions - Mailing list pgsql-hackers

From Ayush Vatsa
Subject Re: Clarification on when _PG_init() is invoked for extensions
Date
Msg-id CACX+KaMdJ7Avd945971cZQyD5dQF7ypJqrKL9dLSy45bNfkaYg@mail.gmail.com
Whole thread Raw
In response to Re: Clarification on when _PG_init() is invoked for extensions  (Rahila Syed <rahilasyed90@gmail.com>)
Responses Re: Clarification on when _PG_init() is invoked for extensions
Re: Clarification on when _PG_init() is invoked for extensions
List 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

pgsql-hackers by date:

Previous
From: Melanie Plageman
Date:
Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)
Next
From: Dagfinn Ilmari Mannsåker
Date:
Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)