postgresqlでデータベース、テーブルのOIDを取得

今まで直接SQLで調べてた。

  • データベースのoid
> select datid,datname from pg_stat_database;
  • テーブルのoid
> select relid,relname from pg_stat_all_tables;

で、最近oid2nameというのが用意されていることにようやく気付いた。

oid2name

SRC/contrib/oid2name以下にある。postgresqlインストール後に

$ cd $SRC/contrib/oid2name
# make && make install

全データベースのOID取得

$ /usr/local/pgsql/bin/oid2name -U postgres

特定のデータベースのテーブルのOID取得

$ /usr/local/pgsql/bin/oid2name -U postgres -d db_name