From: Stef <svb@ucs.co.za>
To: pgsql-admin@postgresql.org
To: pgsql-sql@postgresql.org
Subject: Table versions
Date: Wed, 29 Oct 2003 12:57:52 +0200
Message-ID: <20031029125752.35069e3b.svb@ucs.co.za> (raw)
Hi all,
I'm trying to create some kind of table version control
system for approximately 300 postgres databases
ranging in version from 7.1.2 to 7.3.4.
I compared the "pg_dump -s" output between
the various versions of databases, but the format is inconsistent,
and I can't do diff's to check that table structures are identical
on the various databases this way.
What I did next, is put a trigger on pg_attribute that should, in theory,
on insert and update, fire up a function that will increment a version
number on a table comment every time a table's structure is modified.
I tried to make the function update a comment on pg_description to
accomplish this.
I'm having a lot of trouble doing this and testing it, and after plenty tries
it's still not working. I've attached the trigger statement and the plpgsql function.
(There might be a few mistakes, and I haven't attempted to cater for
system columns and multiple changes yet.)
Can somebody please tell me if what I'm trying will ever work, or
maybe an alternative (easier) way to compare a specific table's
structure amongst various databases, that are not necessarily
on the same network, nor of the same version of postgres.
Regards
Stefan
Attachments:
test.plpgsql (application/octet-stream, 386B) download
test.trigger (application/octet-stream, 137B) download
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: svb@ucs.co.za, pgsql-admin@postgresql.org
Subject: Re: Table versions
In-Reply-To: <20031029125752.35069e3b.svb@ucs.co.za>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox