Bu noktada, hibe verme hakkı yoktur, süper kullanıcı için kodlanmıştır. Bu, son zamanlarda posta listesinde tartışıldı ve birisi üzerinde çalışmak için zaman bulursa 9.5'te değişebilir.
Geçici bir çözüm olarak, SECURITY DEFINER
süper kullanıcının sahip olduğu ve istediğiniz sorguyu çalıştıran bir işlev oluşturabilirsiniz . Bu, süper kullanıcı olmayanların pg_stat_activity
işlevi çağırarak içeriğini görmelerine olanak tanır .
Örneğin, bir süper kullanıcı olarak çalıştırın:
CREATE FUNCTION get_sa() RETURNS SETOF pg_stat_activity AS
$$ SELECT * FROM pg_catalog.pg_stat_activity; $$
LANGUAGE sql
VOLATILE
SECURITY DEFINER;
CREATE VIEW pg_stat_activity_allusers AS SELECT * FROM get_sa();
GRANT SELECT ON pg_stat_activity_allusers TO public;
Ücretsiz erişimin pg_stat_activity
bir nedenle kısıtlandığını unutmayın . Diğer kişilerin sorgularından hassas bilgileri gizlemek mümkündür - örneğin başka bir kullanıcının pgcrypto kullanıp kullanmadığını düşünün. public
Size hak vermek yerine, bunları yalnızca belirli bir kullanıcıya veya izleme için yedek kullanıcı olarak görev yapacak bir role vermelisiniz.