Thread: Where to save data used by extension ?

Where to save data used by extension ?

From
Hao Wu
Date:
Hi pgsql-hackers,

I have an extension for postgresql. The extension works across some databases, and needs to save some data. The data might be modified dynamically by the extension, and all the changed result must be saved. I have considered some methods.
1. Use GUC
I find no easy way to write the GUC values back to postgres.conf. And the data might be a bit complex
2. Create a table under a special database, like postgres
The weak is the strong assumption that the database postgres does exist and will not be dropped.
3. Create a table under a database created by the extension
A little heavy, but without dependencies.
4. Write to a native file.
The file can not sync to a standby

Currently, I use #2. Is there any better way to do this?

Thank you very much
Best Regards

Re: Where to save data used by extension ?

From
Laurenz Albe
Date:
Hao Wu wrote:
> I have an extension for postgresql. The extension works across some databases, and needs to save some data.
> The data might be modified dynamically by the extension, and all the changed result must be saved. I have considered
somemethods.
 
> 1. Use GUC
> I find no easy way to write the GUC values back to postgres.conf. And the data might be a bit complex
> 2. Create a table under a special database, like postgres
> The weak is the strong assumption that the database postgres does exist and will not be dropped.
> 3. Create a table under a database created by the extension
> A little heavy, but without dependencies.
> 4. Write to a native file.
> The file can not sync to a standby
> 
> Currently, I use #2. Is there any better way to do this?

Only 2 and 3 are feasible.

Since extensions have a schema, and the database is the best place to persist
data for a database extension, I'd use a table in the extension schema, so I'd
go for 3.

Why is that heavier than 2?

Yours,
Laurenz Albe