別のアプリケーションのアドオンであるアプリケーションのセットアップスクリプトを作成しているので、他のアプリケーションのテーブルが存在するかどうかを確認したいと思います。そうでない場合は、ユーザーに有用なエラーを提供します。ただし、テーブルを保持するスキーマがわかりません。
DO LANGUAGE plpgsql $$
BEGIN
    PERFORM 1
    FROM
        pg_catalog.pg_class c
        JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
    WHERE
        n.nspname = current_setting('search_path')
        AND c.relname = 'foo'
        AND c.relkind = 'r'; -- not sure if I actually need this or not...
    IF NOT FOUND THEN
        RAISE 'This application depends on tables created by another application';
    END IF;
END;
$$;
ただし、デフォルトではcurrent_setting('search_path')を含むTEXTを返すため、"$user",publicそれほど役に立ちません。
他に考えられる唯一のことは、テーブルから選択して例外をキャッチすることです。それはうまくいきますが、それは非常にエレガントだとは思わず、使用するにはコストがかかると読みました(たぶん、このシナリオでは1回しか実行しないので、それで問題ないでしょうか?)。