Re: dumping only table definitions
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
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
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
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
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
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.