In PostgreSQL, there is no SHOW CREATE
statement, known for example from MySQL. But when you use the pgAdmin III client program and go to object details, you see the corresponding CREATE statement.
So here is my question:
How does pgAdmin III build the CREATE statements it shows? Does it use psql's \d
command or some completely different PostreSQL API? If so, how can I use it?
Best Answer
pgadmin has it's own reverse-engineering functionality - it just examines the system tables like
pg_class
andpg_attribute
to find the details.If what you're looking for is actually an easy way to show the CREATE statements for your objects that you can use from something else, you should look at
pg_dump
instead of pgadmin, it is much simpler. In particular, if you just want to look at it for one or more object, you can usepg_dump -s -t tablename
and it will give you the required CREATE statements.