Re: Snippets? - Mailing list pgsql-general

From Ron
Subject Re: Snippets?
Date
Msg-id 665912f2-754c-f95c-62b2-37d5dc3a1b8b@gmail.com
Whole thread Raw
In response to Re: Snippets?  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: Snippets?
List pgsql-general
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@pkwillis.com <mailto:KLacrosse@pkwillis.com>
>>
>> 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.



pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Snippets?
Next
From: Adrian Klaver
Date:
Subject: Re: Snippets?