Re: BUG #6660: losing schema name in pg_dump

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: shreeseva(dot)it(at)gmail(dot)com
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6660: losing schema name in pg_dump
Date: 2012-05-22 13:39:05
Message-ID: 28522.1337693945@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

shreeseva(dot)it(at)gmail(dot)com writes:
> Many times I have to dump all objects from a schema (single schema holding
> only functions and views) in plain text format. It is found that pg_dump
> includes a set search_path statement at the beginning and drops all
> occurrences of the schema name (to which dumped object belongs) from
> function/view bodies even if they are explicitly defined while creating
> functions/views.

This is not a bug. It's intentional behavior and is convenient more
often than not.

> This makes it problematic to maintain the software available for another
> RDBMS as for most other RDBMS we have to explicitly define schema names
> always.

This claim seems quite baseless. You certainly haven't offered any
actual evidence of a situation where omitting unnecessary schema names
is problematic.

More generally, though, pg_dump has never attempted to promise that its
output can be loaded into other DBMSes without pain, and it would be
practically impossible to make such a promise; there are too many subtle
differences in the various dialects of SQL. If you have SQL that is
intended to work in multiple DBMSes, you would be best advised to
maintain it as text files (perhaps in an SCM) rather than hope that
pg_dump's output will still be useful for the other systems.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Chaitany Kulkarni 2012-05-22 14:27:15 Re: BUG #6660: losing schema name in pg_dump
Previous Message shreeseva.it 2012-05-22 07:23:33 BUG #6660: losing schema name in pg_dump