Re: FDW: should GetFdwRoutine be called when drop table?

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Feng Tian <ftian(at)vitessedata(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: FDW: should GetFdwRoutine be called when drop table?
Date: 2016-02-19 19:18:19
Message-ID: 56C76A7B.8030700@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2/19/16 12:21 PM, Feng Tian wrote:
> I have an fdw that each foreign table will acquire some persisted resource.
> In my case, some files in file system. To drop the table cleanly, I
> have written
> an object_access_hook that remove those files. The hook is installed in
> _PG_init.
>
> It all worked well except one case. Suppose a user login, the very first
> command is
> drop foreign table. Drop foreign table will not load the module, so
> that the hook
> is not installed and the files are not properly cleaned up.

You could load your library with one of the *_library_preload settings
to make sure the hook is always present.

But foreign data wrappers are meant to be wrappers around data managed
elsewhere, not their own storage managers (although that is clearly
tempting), so there might well be other places where this breaks down.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2016-02-19 19:33:27 Re: FDW: should GetFdwRoutine be called when drop table?
Previous Message Andres Freund 2016-02-19 19:16:49 Re: pg_ctl promote wait