Re: Re: [BUGS] BUG #7873: pg_restore --clean tries to drop tables that don't exist
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Satoshi Nagayasu <snaga@uptime.jp>
Cc: Josh Kupershmidt <schmiddy@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>,
Bruce Momjian <bruce@momjian.us>, Dave Rolsky <autarch@urth.org>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2013-09-19T22:12:01Z
Lists: pgsql-bugs, pgsql-hackers
2013/9/16 Satoshi Nagayasu <snaga@uptime.jp> > (2013/07/06 1:16), Pavel Stehule wrote: > >> I am sending a patch that removes strict requirements for DROP IF >> EXISTS statements. This behave is similar to our ALTER IF EXISTS >> behave now. >> >> >> postgres=# DROP CAST IF EXISTS (sss AS public.casttesttype); >> NOTICE: types "sss" and "public.casttesttype" does not exist, skipping >> DROP CAST >> postgres=# DROP FUNCTION IF EXISTS public.pt_in_widget(point, widget); >> NOTICE: function public.pt_in_widget(point,**widget) does not exist, >> skipping >> DROP FUNCTION >> postgres=# DROP OPERATOR IF EXISTS public.<% (point, widget); >> NOTICE: operator public.<% does not exist, skipping >> DROP OPERATOR >> postgres=# DROP TRIGGER test_trigger_exists ON no_such_table; >> ERROR: relation "no_such_table" does not exist >> postgres=# DROP TRIGGER IF EXISTS test_trigger_exists ON no_such_table; >> NOTICE: trigger "test_trigger_exists" for table "no_such_table" does >> not exist, skipping >> DROP TRIGGER >> >> This functionality is necessary for correct quite reload from dump >> without possible warnings >> > > I'm looking at this patch, and I have a question here. > > Should "DROP TRIGGER IF EXISTS" ignore error for non-existing trigger > and non-existing table? Or just only for non-existing trigger? > My opinion is so, both variants should be ignored - it should be fully fault tolerant in this use case. Regards Pavel > > I've not understood the pg_restore issue precisely so far, > but IMHO "DROP TRIGGER IF EXISTS" means "if the _trigger_ exists", > not "if the _table_ exists". > > Is this a correct and/or an expected behavior? > > Sorry if I missed some consensus which we already made. > > Any comments? > > Regards, > -- > Satoshi Nagayasu <snaga@uptime.jp> > Uptime Technologies, LLC. http://www.uptime.jp >