Re: pg_dump without setting search_path

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: gzh <gzhcoder(at)126(dot)com>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: pg_dump without setting search_path
Date: 2022-08-25 03:07:46
Message-ID: 1331174.1661396866@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

gzh <gzhcoder(at)126(dot)com> writes:
> When I use pg_dump to export schema from a database, it adds the following line at the beginning:
> SELECT pg_catalog.set_config('search_path', '', false);
> Is it possible set an option where pg_dump will not add this line?

No. It's a security precaution.

> It is causing issues later when I try to execute other SQL commands, without the schema qualifier.

That probably means you have some user-defined functions that are
not sufficiently careful about search_path. You want to either
schema-qualify every reference in the function body, or attach a
"SET search_path" clause to remove the function's context dependency.

(If you're using SQL-language functions in v14 or later, another
option is to use the SQL-standard syntax instead of writing the
body as a string literal. Then the object references in the function
are parsed at definition time.)

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message gzh 2022-08-25 03:39:13 Re:Re: pg_dump without setting search_path
Previous Message gzh 2022-08-25 02:50:31 pg_dump without setting search_path