In a similar vein to this question, how would I do a schema-only dump in PostgreSQL?


pg_dump --schema-only

  • easier than I realized it would be :) – warren Aug 31 '09 at 4:22
  • 3
    Frankly, I haven't much clue about postgres administration, but I've been watching videos from pgcon 09 and someone mentioned pg_dump. – jldugger Aug 31 '09 at 4:27
  • either way - it's what I needed :) – warren Sep 7 '09 at 13:41
  • 7
    @warren: it's even easier: pg_dump -s. – hans0l0 Nov 20 '13 at 14:58

If you only want the CREATE TABLE statements, then you can do pg_dump -s databasename | awk 'RS="";/CREATE TABLE[^;]*;/'

  • 4
    Not sure why the downvotes as this command works perfectly. So +1 from me. – Dave Mar 4 '17 at 19:17
  • 4
    That was the rigth answer to me, because i couldn't create file with functions, views and etc. – Natan Medeiros Jun 18 '18 at 12:27
  • 1
    @Dave because adding an additional option not at all linked to the initial question 6 years later is not that useful. – Arne Nov 21 '18 at 13:28
  • 1
    @Arne. Disagree. The question title, which specifies dumping "only the table structure", gives this page a high search rank. And plenty of people, like Natan who remarked prior to you, want to avoid moving functions and/or views from old extensions in the event that they are starting with a fresh db with updated extensions. So it absolutely is "useful", as opposed to "not useful", which are the voting criteria. Absolutely getting my +1. – elrobis Aug 9 '19 at 19:23
  • @Dave. I think that this answer is right. I opened because the title. I'm searching table-only struct dump. This is better than the other or the title is not acurated. – Emilio Platzer Oct 9 '19 at 14:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.