0
1人のユーザ、すなわちuser1以外のすべてのユーザのテーブルレコードの削除を無効にする必要があります。だから私は次のようなトリガを使用しています。あるユーザのテーブルレコードの削除を防ぎ、postgresqlの別のテーブルレコードの削除を許可する
CREATE OR REPLACE FUNCTION prevent_deletion() RETURNS trigger AS $$
declare
cur_user varchar(30);
BEGIN
Select current_user into cur_user;
IF cur_user != 'user1' THEN
RAISE EXCEPTION 'You cannot delete records from this table!';
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
トリガーは、ユーザーuser1にとってうまく動作しないuser1以外のユーザーのテーブルレコードを削除できないようにしています。私はuser1のテーブルレコードを削除しないことを意味します。
私のコードでどこが間違っていますか?
ありがとうございます。
postgresのバージョンは何ですか? –
https://www.postgresql.org/docs/9.5/static/sql-createpolicy.html行レベルのセキュリティを監視する –
@VaoTsunその9.5 – Suniel