문제

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?

도움이 되었습니까?

해결책

pgadmin has it's own reverse-engineering functionality - it just examines the system tables like pg_class and pg_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 use pg_dump -s -t tablename and it will give you the required CREATE statements.

다른 팁

As far as I know pgAdmin runs SQL queries on the system catalogs to assemble the details of the table definition. Based on that information it "re-creates" the CREATE TABLE statement.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 dba.stackexchange
scroll top