多数の UDF を持つ postgres db を使用する django プロジェクトがあります。UDF は plpythonu で書かれています。plpyhtonu は信頼できない言語であるため、データベースのスーパー ユーザーのみがそれを使用して UDF を作成できます。これは、テスト スイート内でプログラムによってそれらを作成する方法がないという点で、深刻な問題を引き起こします。現在、次の 2 つのオプションがあります。
- django.db.backends.creation._create_test_db を変更して、UDF が既に読み込まれているテンプレートからテスト データベースを作成します。これはハッキーで保守が面倒なようです。
- MD5 認証を使用してスーパー ユーザーを作成し、psycopg2 を使用してテスト スイートに UDF をロードします。これは安全ではないようです。
これを行うことができるそれほどひどい方法はありますか?
ありがとう。