pg_dump --create --schema-only, how to suppress template1 functions ? - Mailing list pgsql-admin
From | Scott Abel |
---|---|
Subject | pg_dump --create --schema-only, how to suppress template1 functions ? |
Date | |
Msg-id | [email protected] Whole thread Raw |
Responses | Re: pg_dump --create --schema-only, how to suppress template1 functions ? |
List | 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?
pgsql-admin by date: