Re: pg_dump in 7.4

From: Rod Taylor <rbt(at)rbt(dot)ca>
To: Philip Warner <pjw(at)rhyme(dot)com(dot)au>
Cc: Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>, Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_dump in 7.4
Date: 2002-11-15 16:43:47
Message-ID: 1037378626.14810.19.camel@jester
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 2002-11-13 at 23:37, Philip Warner wrote:
> At 02:53 PM 13/11/2002 -0500, Rod Taylor wrote:
> >I can make a complete list tonight of whats captured.
>
> Sounds good

Below is a summary of what pg_depend tracks that might be useful.
Skipped a number of dependencies that are internal only (ie. toast table
dependencies) as they will be regenerated correctly if their 'owners'
are generated correctly.

<Expression Dependencies> include:
- Operators
- Functions
- Relations (and columns)
- Aggregates

Attributes (Columns) depend on:
- Type of attribute

Tables depend on:
- Namespace
- Parent tables (if inheritance)

Default expressions depend on:
- Table
- <Expression Dependencies>

Indexes depend on:
- Constraint (where unique / primary key constraint)
- Index procedure
- Index operator
- Attributes of indexed relation

Aggregates depend on:
- Transformation function
- Final function (if required)

Foreign Keys depend on:
- Foreign key'd relation and its attributes
- Constrained relation and its attributes
- Unique Index on the foreign key'd relation

Check Constraints depend on:
- <Expression Dependencies> <- includes parent relation
- Domain type (if check constraint on domain -- v7.4)

Operators depend on:
- Namespace
- Left operator type
- Right operator type
- Result operator type
- Code function
- Rest function
- Join function

Functions depend on:
- Namespace
- Language
- Return type
- Argument types (all)

Types (domains included) depend on:
- Namespace
- Input type
- Output type
- Element type (if array)
- Base type (if domain)
- Default value -> <Expression Dependencies>

Casts depend on:
- Source type
- Target type
- Cast function

Operator Classes depend on:
- Namespaces
- Input type
- Key data type (if different than input type)
- Dependencies on operators in the class
- Dependencies on procedures in the class

Languages depend on:
- Call function
- Validation function

Triggers depend on:
- Trigger function
- Relation trigger is on
- Constrained relation (if constraint trigger)

Rules depend on:
- Relation rule is on
- Qualifying condition -> <Expression Dependencies>
- resulting Query Tree -> <Expression Dependencies>

Missing:
- Body of all functions

--
Rod Taylor <rbt(at)rbt(dot)ca>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Rod Taylor 2002-11-15 17:02:17 Re: Proposal of hierachical queries (a la Oracle)
Previous Message Stephan Szabo 2002-11-15 15:54:59 Re: create or replace view