How to get permission to debug postgres?

From: Randy Solomonson <randy(at)solomonson(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: How to get permission to debug postgres?
Date: 2010-06-05 12:16:58
Message-ID: AANLkTinf3gH_Atez6VYnnvyvfeagUD9f-xguN23SOjWM@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I have a system that uses C methods as functions in a Postgres
database. When I try to run gdb with my user account I get this:
ptrace: Operation not permitted

It looks like a permission thing. It seemed to work when I ran gdb as
the "postgres" user. I would like to continue running postgres as the
"postgres" user and not have to su postgres when I want to debug. Can
I somehow grant my user account "ptrace" permission for the process in
question? Adding myself to the "postgres" group didn't seem to help.

I found this on the ptrace man page:

EPERM The specified process cannot be traced. This could be because
the parent has insufficient privileges (the required capability
is CAP_SYS_PTRACE); non-root processes cannot trace processes
that they cannot send signals to or those running set-user-
ID/set-group-ID programs, for obvious reasons. Alternatively,
the process may already be being traced, or be init(8) (PID 1).

So do I just need to give CAP_SYS_TRACE privileges to my user? If so, how?

Thank you much.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-06-05 14:02:38 Re: functional call named notation clashes with SQL feature
Previous Message Gnanakumar 2010-06-05 07:05:37 Re: PITR Recovery Question