Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to generate a CREATE script for several tables in pgAdmin III?

In pgAdmin III you can:

  • right-click a table;
  • scripts;
  • CREATE script;
  • save the script from the SQL Editor.

If one has to do this for more than one table, is there a way to combine the scripts in one file (apart from manually copy-pasting them)? If this can be done via psql prompt or phppgadmin, that will be ok too.

like image 978
Alexander Popov Avatar asked Feb 25 '15 10:02

Alexander Popov


People also ask

How do you generate a create table script for an existing table in PostgreSQL?

Use TablePlus GUI Tool: Select the table that you want to replicate from the list in the left sidebar. Click on the Definition button on the top bar. You will notice the table creation statement to copy.

How do I create a DDL script in PostgreSQL?

Using PostgreSQL executablewith -s (–schema-only) and -t (–table) option to generate DDL of required tables. The option -s dictates that only DDL has to be generated and the option -t dictates that we want DDL of only tables to be generated.


2 Answers

Here's a way using pgAdmin.

  • Right-click on your database (or schema).
  • Choose "backup"
  • Under "Format" choose "plain"
  • Under "Dump Options #1" choose "Only schema"
  • Under "Objects" choose the tables you want.

Then click "backup". The output should be a plain text file with the create table statements.

Here's the PgAdmin documentation on backup.

like image 112
mlinth Avatar answered Sep 30 '22 23:09

mlinth


"pg_dump" is also an option here. The -s flag for schema-only and -t to select specific tables. It's not psql or pgAdmin though. It's a utility available to the PostgreSQL user. Example:

sudo su - postgres
pg_dump -s database 
like image 42
OverworkedTechydude Avatar answered Sep 30 '22 23:09

OverworkedTechydude