powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Можно-ли запретить вносить изменения в данные на уровне постгреса?
5 сообщений из 5, страница 1 из 1
Можно-ли запретить вносить изменения в данные на уровне постгреса?
    #32743910
vadim_123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.
...
Рейтинг: 0 / 0
Можно-ли запретить вносить изменения в данные на уровне постгреса?
    #32744190
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, для каждого пользователя можно настроить права доступа к таблицам.

Это то, что ты ищешь?
...
Рейтинг: 0 / 0
Можно-ли запретить вносить изменения в данные на уровне постгреса?
    #32744575
vadim_123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Совсем не то.
Мне надо, чтобы данные нельзя было изменить с помощью update. То есть нужна некая защита от случайных или не случайных действий.
Можно сделать поле 'edit' в каждую таблицу, и в триггере, если оно, например, true, всегда возвращать old. Но это не даёт полной гарантии от того, что данные не будут изменены.
Есть-ли возможность через системные таблицы постгреса сделать что-то вроде read-only на мои данные?
...
Рейтинг: 0 / 0
Можно-ли запретить вносить изменения в данные на уровне постгреса?
    #32745204
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Апдейт таблицы запретить просто REVOKE UPDATE on "маятиблица" from "кретинодж"
Можно использовать просмотр- они по умолчанию не позволяют изменять данные.
И последнее - почитай внимательно про правила (RULES ON UPDATE).
...
Рейтинг: 0 / 0
Можно-ли запретить вносить изменения в данные на уровне постгреса?
    #32754630
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я практически во всех таблицах ввожу столбец с именем пользователя, кто внес строчку (столбик типа MUSER varchar(20) not null default getpgusername()), а потом для каждой таблицы создаю правила на delete и update.
Например
create rule CU1 as on update to C_NOMENCLATOR where name(old.MUSER) <> getpgusername() and getpgusername() <> 'postgres' do instead nothing;
дает, что запись может поменять только тот, кто ее создал, и юзер с именем postgres (админ базы)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Можно-ли запретить вносить изменения в данные на уровне постгреса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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