From: | "Scott Abel" <sabel(at)yahoo(dot)com> |
---|---|
To: | pgsql-admin(at)postgresql(dot)org |
Subject: | pg_dump --create --schema-only, how to suppress template1 functions ? |
Date: | 2007-12-17 18:50:18 |
Message-ID: | c51a85180712171050j4e4ced30sfec6d6f9eb2b4371@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
I was using pg_dump --create --schema-only (or so I thought) to
maintain source files for my database that I could check into my
revision control system. Now I just tried to recreate the source file
from an updated version of the DB, and I'm finding that it dumps all
the built-in stuff from template1 (not stuff I added, AFAIK).
The last file I checked in used template1 in the "CREATE DATABASE"
statement and only had CREATE statements for functions and tables that
I created in my database. All the stuff from template1 was then
created implicitly by the template1 clause in the CREATE DATABASE
statement. This is exactly the behavior I want.
Here's the exact command line I used for 8.2.4 pg_dump in both cases
(unless I'm mistaken and somehow I ran a different version of my
script before):
pg_dump -U postgres -H myhost --create --schema-only --encoding=UTF8
--file=myoutputfile mydbname
Now when I try to run it (still with 8.2.4), the CREATE DATABASE
statement generated uses template0 and then pg_dump regurgitates every
function in my database, including those that came from template1. I
don't use most of the functions and don't want them generated in the
schema file; I really would like to figure out how to get back the old
behavior of pg_dump generating a CREATE DATABASE statement that uses
template1 as the template and only generates DDL for my tables and
functions. How do I do this?
From | Date | Subject | |
---|---|---|---|
Next Message | gunartha | 2007-12-17 19:23:31 | Re: server error |
Previous Message | Tena Sakai | 2007-12-17 17:48:09 | Re: reading pg_stat_activity view |