Lynwood Stewart wrote:

I was expecting "truncate table <tablename>" to truncate a table if I had delete permissions. This does not appear to be the case.

Would someone confirm this for me, or let me know what I am doing wrong.



This is the case. You are not doing anything wrong. There was a discussion on this on the NOVICE list beginning on 2/22. The subject was "Question on TRUNCATE privileges"

At the end of the day the answer is to have the table owner create a truncate function with SECURITY DEFINER privilege.

The following is from Tom Lane.

  See CREATE FUNCTION.  Something like (untested)

  create function truncate_my_table() returns void as
  $$ truncate my_table $$ language sql security definer;

  You'd probably then revoke the default public EXECUTE
  rights on this function, and grant EXECUTE only to
  selected users.

--
Kind Regards,
Keith


---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster

Reply via email to