Re: pg_version_history
От | Ezequiel Tolnay |
---|---|
Тема | Re: pg_version_history |
Дата | |
Msg-id | d54bla$vfg$1@news.hub.org обсуждение исходный текст |
Ответ на | pg_version_history (Ezequiel Tolnay <mail@etolnay.com.ar>) |
Ответы |
Unsusbscribe
|
Список | pgsql-admin |
> I found a table pg_version_history in the public schema (which we don't > use). Does anyone know where this table comes from and what is it for? > > Also I'd like to implement a code versioning for the functions. Is there > a package or a software to do this kind of things, so we can recover > from it a function in case it is deleted or overwritten with an old > version? It is a pretty dumb thing to reply to myself, but perhaps I can share with the newsgroup readers the solution I found for this issue. Although not as convenient as I was looking for, it does the job. It requires the use of a cvs server, and some skills to set-up a new folder in it. Windows users would require to use cygwin for the script, with cron and cvs. Create the following script somewhere: #!/bin/bash DB=<db-name> USR=<db-admin-user> PWD=<db-admin-pwd> DUMP=<pg-bin-dir>/pg_dump SCRIPT_PATH=<script-path> SCRIPT=${DB}-schema.sql pushd $SCRIPT_PATH echo $PWD | $DUMP -sC -U $USR $DB > $SCRIPT 2> /dev/null && \ cvs commit -m "" $SCRIPT > /dev/null popd Replace the variable values with whatever you prefer and run the command. It should fail to upload the script to the cvs server. Now login to the cvs and create a new repository for this folder and add the schema file generated. Finally set-up a cron job to call the script once every hour, or as often as it suits you. The script will keep track of the changes in the schema file maintained by the cvs. Not very efficient, since there will be no references as to what has changed on each version, or who made the changes, but still useful to recover accidentally deleted/modified functions or views and so forth. I hope this is useful to anyone. Regards, Ezequiel Tolnay etolnay@gbtech.com.au
В списке pgsql-admin по дате отправления: