On Sun, Jan 5, 2014 at 10:50 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > =?ISO-8859-1?Q?Fabr=EDzio_de_Royes_Mello?= <fabriziome...@gmail.com> writes: >> You are correct. pg_dump export reloptions using "WITH" clause of CREATE >> TABLE statement. I.e.: > >> CREATE TABLE foo ( >> ) >> WITH (autovacuum_enabled=false, bdr.do_replicate=false); > >> So if this statement checks for 'bdr' extension is loaded then in partial >> restore it can be fail. > > I see absolutely *nothing* wrong with failing that command if bdr is not > installed. For an analogy, if this table includes a column of type bar > defined by some extension baz, we are certainly going to fail the > CREATE TABLE if baz isn't installed. > > Now, if bdr is installed but the validation doesn't happen unless bdr > is "loaded" in some sense, then that is an implementation deficiency > that I think we can insist be rectified before this feature is accepted.
We could add a catalog pg_custom_reloption with a reloption namespace, a reloption name, and a pg_proc OID for a checker-function. This is a lot more overhead than just having a hook the way we do for GUCs, and I'm not sure how you'd handle invalidation, but in theory it solves the problem. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers