powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Права на pg_ls_waldir().
6 сообщений из 6, страница 1 из 1
Права на pg_ls_waldir().
    #40071523
Михаил Вл.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

При попытке обычным пользователем вызвать pg_ls_waldir() получаем:

ERROR: permission denied for function pg_ls_waldir

В доке написано: "Доступ к этой функции имеют члены роли pg_monitor".
А также: "Эта роль включена в роли pg_read_all_settings, pg_read_all_stats и pg_stat_scan_tables".

Т.е. если пользователю выдать, например, pg_read_all_settings, он автоматически получает pg_monitor и может вызывать pg_ls_waldir().
Однако на практике такого не наблюдаем и получаем ту же ошибку, пока не выдадим ему pg_monitor напрямую. Это так и должно работать?

Спасибо.
...
Рейтинг: 0 / 0
Права на pg_ls_waldir().
    #40071529
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил Вл.
Здравствуйте.

При попытке обычным пользователем вызвать pg_ls_waldir() получаем:

ERROR: permission denied for function pg_ls_waldir

В доке написано: "Доступ к этой функции имеют члены роли pg_monitor".
А также: "Эта роль включена в роли pg_read_all_settings, pg_read_all_stats и pg_stat_scan_tables".

Т.е. если пользователю выдать, например, pg_read_all_settings, он автоматически получает pg_monitor и может вызывать pg_ls_waldir().
Однако на практике такого не наблюдаем и получаем ту же ошибку, пока не выдадим ему pg_monitor напрямую. Это так и должно работать?

Спасибо.


Не читайте русские переводы... "This role is a member of pg_read_all_settings, pg_read_all_stats and pg_stat_scan_tables."
хотя по английски не сильно лучше (если подумать).
в общем вы перепутали в какую сторону там роли загрантованы.
Тот у кого есть pg_monitor имеет автоматически заодно права ролей pg_read_all_settings, pg_read_all_stats и pg_stat_scan_tables
Что вполне логично... зачем кому то с правами pg_stat_scan_tables доступ к pg_ls_waldir?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Права на pg_ls_waldir().
    #40071544
Михаил Вл.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю.
Перевод действительно неточный.
...
Рейтинг: 0 / 0
Права на pg_ls_waldir().
    #40072237
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил Вл.
Благодарю.
Перевод действительно неточный.

Два дня думал кто кого включает... Вы не поверите, но перевод правильный. ))

Лучше посмотреть на это так:
Роль pg_monitor включена (или является членом) в роль pg_read_all_settings, что дает возможность пользоваться её привилегиями. Поэтому pg_monitor может получить значение любого параметра конфигурации.
Роль pg_monitor включена в роль pg_read_all_stats, что дает возможность пользоваться её привилегиями. Поэтому pg_monitor может читать данные из статистических представлений.
...
Рейтинг: 0 / 0
Права на pg_ls_waldir().
    #40072247
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Лузанов
Михаил Вл.
Благодарю.
Перевод действительно неточный.

Два дня думал кто кого включает... Вы не поверите, но перевод правильный. ))

Лучше посмотреть на это так:
Роль pg_monitor включена (или является членом) в роль pg_read_all_settings, что дает возможность пользоваться её привилегиями. Поэтому pg_monitor может получить значение любого параметра конфигурации.
Роль pg_monitor включена в роль pg_read_all_stats, что дает возможность пользоваться её привилегиями. Поэтому pg_monitor может читать данные из статистических представлений.


Я бы сказал что использование слова "включает" там тупо не по месту.
Правильно было бы Роль pg_monitor включает в себя (имеет права ролей) pg_read_all_settings, pg_read_all_stats и pg_stat_scan_tables.
Тогда вопроса "кто на ком стоял" не возникает.
Но переводы и документация в целом дело тонкое.

Моя версия как минимум однозначная.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Права на pg_ls_waldir().
    #40072260
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk

Правильно было бы Роль pg_monitor включает в себя (имеет права ролей) pg_read_all_settings, pg_read_all_stats и pg_stat_scan_tables.
...
Но переводы и документация в целом дело тонкое.


"включает в себя" выглядит однозначным с одной стороны.
Но с другой не совсем.
Например. Кто-то включен в организацию (является её членом) и поэтому может пользоваться всеми её преимуществами.
Но не "кто-то включает в себя организацию".

Согласен, что перевод дело тонкое.
Я ведь практически был уверен, что в документации ошибка в этом месте. Даже патч предложил для исправления. Хорошо что по рукам надавали. ))
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Права на pg_ls_waldir().
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]