There seems to be a TON of functionality accessable by querying and updating
the system catalogs directly... Has anyone written a practical guide to the
proper (ab)use and function of the underlying system tables similar to the
postgresql cookbook? They ARE documented, but there aren't that many cookbook
entries for nifty tweaks like disabling triggers by telling postgresql there
are none... (well, there IS a cookbook recipie for that... :) I'm not sure how
such a document would be organized, or what would constitute a "nifty" feature.
The SQL for some of the cooler "\" commands in psql can be gleaned by using the
-E command. Some other "nifties" can also be found by digging through the code.
Is this a skill reserved only for the eXtreme postgresql hackers, or can
(should!) mere mortals be given the understanding to push postgresql to its
limits?
CG
--- Jean-Luc Lachance <jllachan@nsd.ca> wrote:
> If you look at a pg_dump file, you will find:
>
> UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" = '<table
> name>';
>
> UPDATE pg_class SET reltriggers = (
> SELECT count(*) FROM pg_trigger where pg_class.oid = tgrelid)
> WHERE relname = '<table name>';
>
> The first statemant turn off trigers, the second turns them back on.
>
> JLL
>
>
> Adam Witney wrote:
> >
> > Never tried this myself but there is an entry in the cookbook pages that,
> on
> > the face of it seems to do what you are asking...
> >
> >
> http://www.brasileiro.net:8080/postgres/cookbook/view-one-recipe.adp?recipe_
> > id=5925
> >
> > > On 25 Nov 2002, Glen Eustace wrote:
> > >
> > >> Is there a way that all the triggers associated with a table can be
> > >> turned off ? I would like to be able to bulk load a table ( I have to
> > >> use inserts not copy ) and I don't want the triggers to fire. Once
> > >> loaded I want to turn them back on again. This process will be repeated
> > >> quite often ( during the development phase).
> >
> > --
> > This message has been scanned for viruses and
> > dangerous content by MailScanner, and is
> > believed to be clean.
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 4: Don't 'kill -9' the postmaster
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com