Hi, Hackers,
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.
Should drop foreign table call GetFdwRoutine? _PG_init is the only
entrance point
that I know for registering hooks, I feel we need to trigger a load for all
DML/DDL on
FDW including drop. Does this make sense?
Thanks,
Feng