Closed glushakov closed 2 years ago
Добрый день!
У меня получилось обойти эту проблему выдачей гранта create на табличное пространство. Но тут есть ньюанс. Точнее два: во-первых, так придется поступить с каждым ТП, а во-вторых, в версии 9.6 нет возможности получить непривилигированным пользователем текст выражения из _pg_statstatements, так что применение pg_profile получается довольно ограниченным.
Действительно, даже queryid не показывает :( Спасибо.
Добрый день На 9.6 возникает ошибка: permission denied for tablespace pg_global + while executing query on dblink connection named ""server_connection"" + SQL statement ""INSERT INTO last_stat_tablespaces( + server_id, + sample_id, + tablespaceid, + tablespacename, + tablespacepath, + size, + size_delta + ) + SELECT + sserver_id, + s_id, + dbl.tablespaceid, + dbl.tablespacename, + dbl.tablespacepath, + dbl.size AS size, + dbl.size_delta AS size_delta + FROM dblink('server_connection', server_query) + AS dbl ( + tablespaceid oid, + tablespacename name, + tablespacepath text, + size bigint, + size_delta bigint + )"" + PL/pgSQL function take_sample(integer,boolean) line 594 at SQL statement + PL/pgSQL function take_sample_subset(integer,integer) line 27 at assignment+ SQL function ""take_sample"" statement 1 + Полагаю из за ограничений в pg_catalog.pg_tablespace_size https://postgrespro.com/list/thread-id/1703015 Руками проблема так же воспроизводится: psql (9.6.19) Type "help" for help. postgres=# set role profile_user ; SET postgres=> select pg_catalog.pg_tablespace_size(1664); ERROR: permission denied for tablespace pg_global
Пока не нашёл как обойти это, кроме выдачи суперюзера :disappointed: