Re: dumping only table definitions

2018-06-30 Thread Vick Khera
On Fri, Jun 29, 2018 at 6:39 PM, Alvaro Herrera 
wrote:

> On 2018-Jun-29, Kevin Brannen wrote:
>
> > I'm trying to figure out how to dump only the table definitions, well
> those and things they need directly, like sequences & types. What I do NOT
> want are all the millions (not literally but it feels like it :)) of
> functions we have. Triggers would be all right if I must, as we only have a
> few of those.
>
> Try "pg_dump -Fc" followed by pg_restore -l.  You can edit the list
> emitted there, then use it with pg_restore -L.
>

>From my experience, this is the right solution.


RE: dumping only table definitions

2018-06-29 Thread Kevin Brannen
On Fri, Jun 29, 2018 at 6:30 PM, Kevin Brannen 
mailto:kbran...@efji.com>> wrote:
I’m trying to figure out how to dump only the table definitions, well those and 
things they need directly, like sequences & types. What I do NOT want are all 
the millions (not literally but it feels like it ☺) of functions we have. 
Triggers would be all right if I must, as we only have a few of those.

Melvin wrote:

> > What I do NOT want are all the millions (not literally but it feels like it 
> > ☺) of functions we have.

> It sounds like you would best be served by installing pg_extractor. In 
> essence, it is a super flexible version of pg_dump. You have your choice of 
> exactly what you want to dump.

> https://github.com/omniti-labs/pg_extractor
Thanks Melvin, that looks like it would do what I want. If it doesn’t, I’ll try 
Alvaro’s and Tom’s suggestions.

Kevin
This e-mail transmission, and any documents, files or previous e-mail messages 
attached to it, may contain confidential information. If you are not the 
intended recipient, or a person responsible for delivering it to the intended 
recipient, you are hereby notified that any disclosure, distribution, review, 
copy or use of any of the information contained in or attached to this message 
is STRICTLY PROHIBITED. If you have received this transmission in error, please 
immediately notify us by reply e-mail, and destroy the original transmission 
and its attachments without reading them or saving them to disk. Thank you.


Re: dumping only table definitions

2018-06-29 Thread Melvin Davidson
On Fri, Jun 29, 2018 at 6:30 PM, Kevin Brannen  wrote:

> I’m trying to figure out how to dump only the table definitions, well
> those and things they need directly, like sequences & types. What I do NOT
> want are all the millions (not literally but it feels like it J) of
> functions we have. Triggers would be all right if I must, as we only have a
> few of those.
>
>
>
> I’ve tried various combinations of args to pg_dump, with -s being what I’d
> like to work, but I still get all the functions.
>
>
>
> I suppose I could filter it with Perl or Awk, but that could be tricky. In
> fact, the best my searching could find is to do:
>
>
>
>  pg_dump -s databasename | awk 'RS="";/CREATE TABLE[^;]*;/'
>
>
>
> which fails in some interesting ways.
>
>
>
> I could dump the schema (with functions) then load it into another DB then
> programmatically drop all the functions before dumping that with pg_dump,
> but again why should I have to.
>
>
>
> Is there any Pg tool that gives me just the table defs or am I going to
> have to write my own?
>
>
>
> Thanks,
>
> Kevin
> This e-mail transmission, and any documents, files or previous e-mail
> messages attached to it, may contain confidential information. If you are
> not the intended recipient, or a person responsible for delivering it to
> the intended recipient, you are hereby notified that any disclosure,
> distribution, review, copy or use of any of the information contained in or
> attached to this message is STRICTLY PROHIBITED. If you have received this
> transmission in error, please immediately notify us by reply e-mail, and
> destroy the original transmission and its attachments without reading them
> or saving them to disk. Thank you.
>

> What I do NOT want are all the millions (not literally but it feels like
it J) of functions we have.

It sounds like you would best be served by installing pg_extractor. In
essence, it is a super flexible version of pg_dump. You have your choice of
exactly what you want to dump.

https://github.com/omniti-labs/pg_extractor

-- 
*Melvin Davidson*
*Maj. Database & Exploration Specialist*
*Universe Exploration Command – UXC*
Employment by invitation only!


Re: dumping only table definitions

2018-06-29 Thread Tom Lane
Alvaro Herrera  writes:
> On 2018-Jun-29, Kevin Brannen wrote:
>> I'm trying to figure out how to dump only the table definitions, well those 
>> and things they need directly, like sequences & types. What I do NOT want 
>> are all the millions (not literally but it feels like it :)) of functions we 
>> have. Triggers would be all right if I must, as we only have a few of those.

> Try "pg_dump -Fc" followed by pg_restore -l.  You can edit the list
> emitted there, then use it with pg_restore -L.

I think something involving "--tables '*.*'" might work, too.
Be careful about shell-command quoting.

regards, tom lane



Re: dumping only table definitions

2018-06-29 Thread Alvaro Herrera
On 2018-Jun-29, Kevin Brannen wrote:

> I'm trying to figure out how to dump only the table definitions, well those 
> and things they need directly, like sequences & types. What I do NOT want are 
> all the millions (not literally but it feels like it :)) of functions we 
> have. Triggers would be all right if I must, as we only have a few of those.

Try "pg_dump -Fc" followed by pg_restore -l.  You can edit the list
emitted there, then use it with pg_restore -L.

-- 
Álvaro Herrerahttps://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



dumping only table definitions

2018-06-29 Thread Kevin Brannen
I'm trying to figure out how to dump only the table definitions, well those and 
things they need directly, like sequences & types. What I do NOT want are all 
the millions (not literally but it feels like it :)) of functions we have. 
Triggers would be all right if I must, as we only have a few of those.

I've tried various combinations of args to pg_dump, with -s being what I'd like 
to work, but I still get all the functions.

I suppose I could filter it with Perl or Awk, but that could be tricky. In 
fact, the best my searching could find is to do:

 pg_dump -s databasename | awk 'RS="";/CREATE TABLE[^;]*;/'

which fails in some interesting ways.

I could dump the schema (with functions) then load it into another DB then 
programmatically drop all the functions before dumping that with pg_dump, but 
again why should I have to.

Is there any Pg tool that gives me just the table defs or am I going to have to 
write my own?

Thanks,
Kevin
This e-mail transmission, and any documents, files or previous e-mail messages 
attached to it, may contain confidential information. If you are not the 
intended recipient, or a person responsible for delivering it to the intended 
recipient, you are hereby notified that any disclosure, distribution, review, 
copy or use of any of the information contained in or attached to this message 
is STRICTLY PROHIBITED. If you have received this transmission in error, please 
immediately notify us by reply e-mail, and destroy the original transmission 
and its attachments without reading them or saving them to disk. Thank you.