Re: List tables in reverse dependancy order
От | Tom Lane |
---|---|
Тема | Re: List tables in reverse dependancy order |
Дата | |
Msg-id | 17006.1186242671@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | List tables in reverse dependancy order ("Gregory Williamson" <Gregory.Williamson@digitalglobe.com>) |
Список | pgsql-general |
"Gregory Williamson" <Gregory.Williamson@digitalglobe.com> writes: > I'm trying to create a procedure that would let me retrieve a list of = > tables and views in a database that will be used to control the order in = > which lookup data is created/loaded. So, much simplified, if table = > references table B, which in turn references table A, we want output to = > list table A, B and C in that order. > I'm sure that this exists -- the pg_dump command must use some similar = > algorithm to decide in which order to load tables, but I can't see to = > puzzle this out. pg_dump expends a fair amount of code on this problem; if you want to handle the general case with circular references and so on, it's not simple. You could do worse than to run "pg_dump -s" and postprocess its output. If you are only interested in simpler cases then you might be able to find a simpler solution. For instance if you are only worried about foreign-key linkages then looking into pg_constraint is much the easiest way to find out about those. regards, tom lane
В списке pgsql-general по дате отправления: