Tom, PL/SQL (or PL/pgSQL) code is always better off in separate files
from "create table" statements. There is never any drawback to
organizing things that way, and if you
ever need to write
upgrade scripts for the PL/SQL code, you will soon find just how much
easier and cleaner it is to have the PL/SQL in its own files.
Back in July, Malte at least seemed to
agree with me,
on that, and at the time I also made some
very specific draft guidelines
(which were mostly ignored).
Tom, If you seriously "thought code was documentation" (rather than
just engaging in annoying hyperbole), then you are seriously confused.
Code, at best, can only tell you what is being done, never
why. Explaining the why is, among other things, what
comments and documentation are for.