sql >> データベース >  >> RDS >> PostgreSQL

拡張機能を再配置不可にする方法は?

    まず、relocatableを変更する必要があります falseに 拡張機能の制御ファイル内。

    それ以外は、あなたが得た推奨は、部分的に合理的で、部分的にナンセンスです。

    次のように関数を定義する必要があります:

    CREATE FUNCTION .... AS
    $$ /* function body */ $$
    SET search_path = @[email protected];
    

    次に、search_path pg_catalogに修正されました 、pg_temp 関数呼び出し中の拡張スキーマ。つまり、明示的なスキーマのないオブジェクトへのすべてのアクセスは、これらのスキーマでのみ検索されます。

    そうすれば、関数内のすべてを@[email protected]で明示的に修飾することを心配する必要はありません。 、およびsearch_pathであるため、心配することなく演算子を使用できます。 オペレーターにも適用されます。 (演算子をスキーマ修飾することもできます:OPERATOR(schema.+) 、しかしそれは明らかに苦痛であり、読みやすさを損ないます。)




    1. MySQLの\Gで行われるように、選択した結果をpsqlで垂直に表示します

    2. COMBGUIDのパフォーマンス値

    3. PostgreSQL:エラー:42601:レコードを返す関数には列定義リストが必要です

    4. SELECTDISTINCTONクエリをPostgresqlからMySQLに変換する