特定のスキーマにテーブルが存在するかどうかを確認する方法
Postgres 8.4以降のデータベースには、publicスキーマ内の共通テーブルとスキーマ内の会社固有のテーブルが含まれていcompanyます。 companyスキーマ名は常に'company'会社番号で始まり、会社番号で終わります。 したがって、次のようなスキーマがある場合があります。 public company1 company2 company3 ... companynn アプリケーションは常に1つの会社で動作します。同様に、ODBCまたはNpgsqlの接続文字列に応じて指定されています。search_path search_path='company3,public' 特定のcompanynスキーマが指定されたスキーマに存在するかどうかをどのように確認しますか? 例えば: select isSpecific('company3','tablenotincompany3schema') 返す必要がありますfalse、と select isSpecific('company3','tableincompany3schema') 戻る必要がありtrueます。 いずれの場合も、関数はcompanyn渡されたスキーマのみをチェックし、他のスキーマはチェックしないでください。 指定されたテーブルがpublic、渡されたスキーマの両方に存在する場合、関数はを返す必要がありますtrue。 Postgres 8.4以降で動作するはずです。