On Tue, May 23, 2017 at 6:42 AM, Mahi Gurram <teckym...@gmail.com> wrote: > 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 :(
It seems to me that you are creating those too early. For example, for a background worker process, DSA segments would likely be created in the main process routine. Without understanding what you are trying to achieve, it is hard to make a good answer. You could always use a ramdisk, but that would be likely be a waste of memory as Postgres has its own buffer pool, killing the performance gains of OS caching. -- Michael -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers