0
私はPostgres 9.5でPyGreSQL 4.1.1を使用しており、いくつかのストアド関数を書いています。私はpsql
でうまく動作するデバッグのために、関数内でさまざまなレベルのRAISE
を使用していますが、Pythonでこれらのメッセージにアクセスする方法が見つかりませんでした。PyGreSQLで通知を受け取る方法は?
例:
CREATE OR REPLACE FUNCTION my_function() RETURNS BOOLEAN AS $_$
BEGIN
RAISE NOTICE 'A notice from my function.';
RETURN TRUE;
END
$_$ LANGUAGE plpgsql;
私のPythonコードは次のようになります。
conn = pgdb.connect(database = 'mydb', user = 'myself')
cursor = conn.cursor()
cursor.execute("SELECT my_function()"):
私はmy_function()
を実行した後の通知(A notice from my function.
)にアクセスするにはどうすればよいですか?
[Connection.set_notice_receiver(FUNC)](http://www.pygresql.org/contents/pg/connection.html#pg.Connection.set_notice_receiver) – klin
@klin:ありがとうございますが、 'set_notice_receiver()'は明らかに 'pg'モジュールの外にあります。 'pgdb'の変種もありますか? – clemens
残念ながら、通知はPostgresに特有の機能であるため、DB-API 2.0には含まれていません。 – klin