Re: [HACKERS] Regarding Postgres Dynamic Shared Memory (DSA)
От | Thomas Munro |
---|---|
Тема | Re: [HACKERS] Regarding Postgres Dynamic Shared Memory (DSA) |
Дата | |
Msg-id | CAEepm=2QtpZUnRY9AyWgw6NP-XvieKKpkqHo9ZLwXR43gfw-GA@mail.gmail.com обсуждение исходный текст |
Ответ на | [HACKERS] Regarding Postgres Dynamic Shared Memory (DSA) (Mahi Gurram <teckymahi@gmail.com>) |
Ответы |
Re: [HACKERS] Regarding Postgres Dynamic Shared Memory (DSA)
|
Список | pgsql-hackers |
On Tue, May 23, 2017 at 10:42 PM, Mahi Gurram <teckymahi@gmail.com> wrote: > Hello everyone, > > I'm building In-Memory index extension for Postgres, for which i'm trying to > use DSA. But ended with some issues, as it is not allowing me to create > DSA(Dynamic Shared Area) in _PG_init function. > > Please refer my_PG_init code below: >> >> void >> _PG_init(void) >> { >> area = dsa_create(LWLockNewTrancheId(), "CustomIndex_DSA"); >> area_handle = dsa_get_handle(area); >> } > > > Because of this code, Postgres is not starting. Not even giving any error > messages in pg logs. Hence, i'm totally clue less :( > > > Please let me know how to proceed. Your help is highly appreciated. Hi Mahi If your plan is to write a preloaded library, then I think your _PG_init() function needs to register a callback with shmem_startup_hook. See pgss_shmem_startup for an example. You may need to set up a piece of traditional named shared memory that backends can use to find either (1) the handle for your DSA area or (2) your DSA area itself (if you use the 'in place' constructor), and also allocate and share a lock tranche number. Another approach would be to create the DSA area on demand (ie the first time you need it for your new index feature), if you don't want to have to preload the library, but there is a small problem with that, at least in theory. You probably still need to use a small bit of named traditional shmem for discovery purposes, and it's slightly against the rules to do that when you haven't called RequestAddinShmemSpace, and it's too late to do that. -- Thomas Munro http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: