> I had something different in mind to make the space
> unlimited. I could add an Oid field to pg_rewrite, pointing
> to an extension record.
>
> If a rule does not fit into one tuple, it is splitted into
> multiple ones in rewriteDefine.c. All the extension tuples
> have the event realtion set to the invalid Oid value to not
> get fired everywhere.
I think it would actually be better to allow postgresql data pages to be chained,
so allowing all rows to be larger than 8k.
Usual limits are 32k independent of page size.
The trick is to add pointers to followup pages if the record does not fit in.
This will usually be the following pages, but might be somwhere completely different.
In this case performance will be bad, but all major players suffer from this.
I really think doing tricks for system tables to overcome the 8k limit
is putting work into the wrong direction.
Andreas