On 5/24/19 1:27 PM, Adrian Klaver wrote:
On 5/24/19 11:15 AM, Ken Lacrosse wrote:
Is there any way in postgresql to have a "snippet" of SQL code which you
could apply to all tables. Something you could add which would ensure
that every table always has a Created, Changed and Deleted column for
example. Sort of like a C include I suppose. Of course if I’m building a
DB schema by hand I could just copy and paste those columns but it still
seems a bit too, darn humans!, error prone.
Not that I know of.
Things I have done:
1) Template table that I includes those fields that I then add to.
FYI the Sqitch schema management system allows you to do the above:
https://sqitch.org/docs/manual/sqitch-add/#templates
2) A script that I run over table definition to add the fields.
What about INHERITS?
test=# create table CCD_template (
test(# Created timestamptz,
test(# Changed timestamptz,
test(# Deleted timestamptz );
CREATE TABLE
test=# create table foobar (
field1 integer,
field2 bytea
) inherits (CCD_template);
CREATE TABLE
test=#
test=# \d foobar
Table "public.foobar"
Column | Type | Modifiers
---------+--------------------------+-----------
created | timestamp with time zone |
changed | timestamp with time zone |
deleted | timestamp with time zone |
field1 | integer |
field2 | bytea |
Inherits: ccd_template
Ken LaCrosse
Senior IT InfoSec and Infrastructure Monitoring Specialist
I.T. | American Recovery Service & Skipbusters
Phone: (800)398-6480 x3758
Email: KLacrosse@xxxxxxxxxxxx <mailto:KLacrosse@xxxxxxxxxxxx>
www.pkwillis.com <http://www.pkwillis.com/>
* Visibility is key. *
Without visibility you can't see.
What you can't see you can't measure.
What you can't measure you can’t planfully change.
What you can’t planfully change you can't manage.
And if we can’t manage then why are we here?
NOTICE: The information contained in this transmission, including
attachments, may contain confidential information that is privileged,
confidential and/or exempt from disclosure by applicable law. It is
intended only for the use of the person(s) or entity to which it is
addressed. If the reader of this transmission is not the intended
recipient, the reader is hereby notified that any review, use,
dissemination, distribution or duplication of this communication
(including any reliance thereon) is strictly prohibited. If you have
received this transmission in error, please contact the sender by reply
email, then delete and destroy the material in its entirety, whether in
electronic or hard copy format. WE SPECIFICALLY DISCLAIM RESPONSIBILITY
FOR ANY UNAUTHORIZED USE OF THIS COMMUNICATION OR ANY ATTACHMENTS TO IT.
Thank you.
--
Angular momentum makes the world go 'round.