Re: How to compare the schemas ?
От | Scott Marlowe |
---|---|
Тема | Re: How to compare the schemas ? |
Дата | |
Msg-id | 1119973293.8208.107.camel@state.g2switchworks.com обсуждение исходный текст |
Ответ на | Re: How to compare the schemas ? (Ian FREISLICH <if@hetzner.co.za>) |
Список | pgsql-admin |
On Tue, 2005-06-28 at 08:32, Ian FREISLICH wrote: > Peter Eisentraut wrote: > > Milorad Poluga wrote: > > > One (certainly not the best options) is to do something like this: > > > > > > pg_dump ... DB1 =A0> PG_SCHEMA1 > > > pg_dump ... DB2 =A0> PG_SCHEMA2 > > > diff =A0PG_SCHEMA1 =A0PG_SCHEMA2 =A0> differences.txt > > > > What is wrong with that? > > All the extra TOC ID and comment stuff that pg_dump introduces. > Also, I think that the dump is sorted by creation order or some > other scheme, so even though the databases might be identical, the > diff output would be significant. > > This is something that I have battled in the past. The only solution > was to always update the database from a set of scripts, one for > each function and one for the tables. These scripts kept in CVS > auto update the comment on each object: > > COMMENT ON FUNCTION namedConfGen(TEXT,TEXT) IS '$Id: sproc.api.namedConfGen,v 1. > 8 2004/05/07 08:02:55 ianf Exp $'; > > Now I can cvs diff using the version numbers. Not ideal, but at > least I know exactly where I am. I just pass a schema backup through grep or sed with this option: grep -Pv "^--" and get a pretty good idea of the differences. Since our databases are created by scripts as well, they generally share creation order and such, so any small difference from missing a script on one or another environment shows up with this. ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
В списке pgsql-admin по дате отправления: