|
| 1 | + |
| 2 | + |
| 3 | + findoidjoins |
| 4 | + |
| 5 | +This program scans the a database, and prints oid fields, and the tables |
| 6 | +they join to. PostgreSQL version 6.3.2 crashes with aggregates on |
| 7 | +views, so I have removed the view pg_user from the list of relations to |
| 8 | +examine. |
| 9 | + |
| 10 | +Run on am empty database, it returns the system join relationships: |
| 11 | + |
| 12 | +--------------------------------------------------------------------------- |
| 13 | + |
| 14 | +Join pg_aggregate.aggfinaltype => pg_proc.oid |
| 15 | +Join pg_aggregate.aggfinaltype => pg_type.oid |
| 16 | +Join pg_aggregate.aggowner => pg_proc.oid |
| 17 | +Join pg_aggregate.aggbasetype => pg_proc.oid |
| 18 | +Join pg_aggregate.aggbasetype => pg_type.oid |
| 19 | +Join pg_aggregate.aggtranstype1 => pg_proc.oid |
| 20 | +Join pg_aggregate.aggtranstype1 => pg_type.oid |
| 21 | +Join pg_aggregate.aggtranstype2 => pg_type.oid |
| 22 | +Join pg_am.amowner => pg_proc.oid |
| 23 | +Join pg_amop.amopid => pg_am.oid |
| 24 | +Join pg_amop.amopopr => pg_operator.oid |
| 25 | +Join pg_amop.amopclaid => pg_opclass.oid |
| 26 | +Join pg_amproc.amproc => pg_operator.oid |
| 27 | +Join pg_amproc.amproc => pg_proc.oid |
| 28 | +Join pg_amproc.amopclaid => pg_opclass.oid |
| 29 | +Join pg_amproc.amopclaid => pg_operator.oid |
| 30 | +Join pg_amproc.amopclaid => pg_proc.oid |
| 31 | +Join pg_amproc.amid => pg_am.oid |
| 32 | +Join pg_attribute.attrelid => pg_class.oid |
| 33 | +Join pg_attribute.atttypid => pg_type.oid |
| 34 | +Join pg_class.relam => pg_am.oid |
| 35 | +Join pg_class.reltype => pg_type.oid |
| 36 | +Join pg_class.relowner => pg_proc.oid |
| 37 | +Join pg_description.objoid => pg_proc.oid |
| 38 | +Join pg_description.objoid => pg_type.oid |
| 39 | +Join pg_index.indexrelid => pg_class.oid |
| 40 | +Join pg_index.indrelid => pg_class.oid |
| 41 | +Join pg_index.indproc => pg_proc.oid |
| 42 | +Join pg_opclass.opcdeftype => pg_type.oid |
| 43 | +Join pg_operator.oprcom => pg_operator.oid |
| 44 | +Join pg_operator.oprrsortop => pg_operator.oid |
| 45 | +Join pg_operator.oprlsortop => pg_operator.oid |
| 46 | +Join pg_operator.oprnegate => pg_operator.oid |
| 47 | +Join pg_operator.oprresult => pg_type.oid |
| 48 | +Join pg_operator.oprright => pg_type.oid |
| 49 | +Join pg_operator.oprleft => pg_type.oid |
| 50 | +Join pg_operator.oprowner => pg_proc.oid |
| 51 | +Join pg_parg.partype => pg_type.oid |
| 52 | +Join pg_parg.parproid => pg_operator.oid |
| 53 | +Join pg_parg.parproid => pg_proc.oid |
| 54 | +Join pg_proc.prolang => pg_language.oid |
| 55 | +Join pg_proc.prorettype => pg_type.oid |
| 56 | +Join pg_proc.proowner => pg_proc.oid |
| 57 | +Join pg_rewrite.ev_class => pg_class.oid |
| 58 | +Join pg_statistic.starelid => pg_class.oid |
| 59 | +Join pg_type.typrelid => pg_class.oid |
| 60 | +Join pg_type.typowner => pg_proc.oid |
| 61 | +Join pg_type.typelem => pg_operator.oid |
| 62 | +Join pg_type.typelem => pg_proc.oid |
| 63 | +Join pg_type.typelem => pg_type.oid |
| 64 | + |
| 65 | + |
| 66 | +--------------------------------------------------------------------------- |
| 67 | + |
| 68 | +Bruce Momjian (root@candle.pha.pa.us) |
0 commit comments