Re: pg_dump's restore gives "operator does not exist: public.iprange = public.iprange" but copy paste works

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Christopher Causer <chy(dot)causer(at)gmail(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: pg_dump's restore gives "operator does not exist: public.iprange = public.iprange" but copy paste works
Date: 2021-07-08 20:29:49
Message-ID: 2041981.1625776189@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> IIUC, functions can force a search_path even during dump/restore by being
> created with one specified as part of the create function command. Since
> the issue is with stored objects moreso than queries generically is it
> feasible to approach the view solution by adding a "SET" clause to CREATE
> VIEW as well?

Don't see the point. The issue here is what search_path applies at
view definition time, and you have syntax to control that today:

SET search_path = whatever;
CREATE VIEW ... ;
RESET search_path;

So the problem is not lack of a server feature, it's persuading pg_dump
to emit something other than what it does now.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Steve Baldwin 2021-07-08 20:35:06 What to look for when excessively long commits
Previous Message David G. Johnston 2021-07-08 20:29:05 Re: pg_dump's restore gives "operator does not exist: public.iprange = public.iprange" but copy paste works