Size: a a a

pgsql – PostgreSQL

2021 February 02

VY

Victor Yegorov in pgsql – PostgreSQL
Константин
Всем привет, совсем недавно начал работать с postgresql да и с базами данны в принципе. Возник вопрос, над которым сижу уже третий день.

Сразу скажу, что используется схема public.

У меня есть дефолтный юзер postgres и я создаю отдельного пользователя username.
От имени postgres создаю базу данных onlinekassa.

Возникает необходимость ограничить привилегии юзера username, чтобы он не мог делать DELETE и TRUNCATE в таблицах, которые он будет создавать в базе данных onlinekassa.

Читаю про ALTER DEFAULT PRIVILEGES, но там говорится, что REVOKE не будет работать для схемы public, если до этого не было GRANT.

Пробовал все возможные комбинации. Если делать просто REVOKE для имеющихся таблиц, то все работает, но ALTER DEFAULT PRIVILEGES не работает ни при каких условиях
если user имеет право создавать таблицы, то он будет иметь право делать с ними всё как владелец
источник

К

Константин in pgsql – PostgreSQL
Victor Yegorov
если user имеет право создавать таблицы, то он будет иметь право делать с ними всё как владелец
а как тогда можно обойти проблему, когда случайно на проде удаляется таблица?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
1. не ходить в прод пользователями с superuser привилегиями
2. разделить пользователей, которые меняют схему и тех, кто работает от приложения (обычно заводятся несколько пользователей)
источник

К

Константин in pgsql – PostgreSQL
То есть, к примеру, создаются таблицы от имени postgres, а приложение работает от имени username?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
да, можно и так. но я бы не давал возможность лить миграции от postgres кому попало, у пользователя нет никаких ограничений
источник

К

Константин in pgsql – PostgreSQL
хорошо, спасибо большое) понял направление для раздумий
источник

D

Drive_in in pgsql – PostgreSQL
Всем привет такой вопрос postgreSQL выпустил какие то новые кнопки не могу найти кнопку очистить таблицу покажите как
источник

D

Drive_in in pgsql – PostgreSQL
источник

am

a m in pgsql – PostgreSQL
жми  трункате
источник

ПЕ

Петр Егоров... in pgsql – PostgreSQL
ждал, кто-же возмет на себя ответственность)
источник

D

Drive_in in pgsql – PostgreSQL
a m
жми  трункате
Ура спасибо
источник

OT

Oleg Taktarov in pgsql – PostgreSQL
Доброго вечера. Помогите, пожалуйста, не знаю, как отдебажить: есть селект из приложения, обычно он использует правильный индекс, но переодически планировщик запросов строит запрос с помощью другого индекса и селект сильно затормаживается. После этого все снова возвращается на место и планировщик снова использует при построении правильный индекс. В чем может заключатся загвоздка?
источник

am

a m in pgsql – PostgreSQL
Грохнуть «другой индекс», конечно. :3
источник

am

a m in pgsql – PostgreSQL
Если на самом деле неизвестна причина тормозов, и надо именно отдебажить, то https://www.postgresql.org/docs/current/auto-explain.html
источник
2021 February 03

K

Kirill in pgsql – PostgreSQL
Всем привет! Подскажите плиз можно ли сделать так, чтобы crosstab возвращал все данные, если их несколько то разбивал на строки? Сейчас он возвращает только один набор данных

SELECT    *
FROM    crosstab(  $$
           SELECT    *
           FROM    (VALUES
                 (745, 'type', 'drink'),
                 (745, 'cat', 'alcohol'),
                 (745, 'name', 'boyaryshnik'),
                 (745, 'type', 'food'),
                 (745, 'cat', 'vegan'),
                 (745, 'name', 'sosiska')) AS foo
           $$,
           $$
           VALUES('type'),('cat'),('name')
           $$
           ) AS ct(id int, TYPE TEXT, cat TEXT, name TEXT)
источник

N

Nikolay in pgsql – PostgreSQL
В четверг с Ильёй делаем онлайн про FOSDEM, подписывайтесь, подключайтесь, участвуйте (англ):

2021-02-04 (Thursday) at 9:30 PT / 12:30 ET / 17:30 UTC / 18:30 CET / 20:30 MSK – new live episode of Postgres.tv: FOSDEM Special - Meet FOSDEM-2021 #PostgreSQL DevRoom Organizers Team. Details, ideas, requests: http://bit.ly/postgres-tv
источник

СО

Сергей Овчинников... in pgsql – PostgreSQL
Товарищи, подскажите, пожалуйста, почему при добавлении триггера к таблице и ссылаясь на функцию в EXECUTE PROCEDURE возвращает SQL Error [42883]: ERROR: function pg_catalog.pg_notify() does not exist
 ERROR: function pg_catalog.pg_notify() does not exist
источник

МИ

Максим Исаев... in pgsql – PostgreSQL
Всем привет! Подскажите, как такое может быть?
источник

МИ

Максим Исаев... in pgsql – PostgreSQL
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Может фотошоп?!
источник