
Ildar
02.02.2017
13:32:48
только hash-партиции

Andrey
02.02.2017
13:34:21
А в планах нет такого? Очень было бы круто. Я вам письмо писал, но вы не ответили (.

Ildar
02.02.2017
13:36:44
в планах есть партицирование по выражению, в рамках которого можно реализовать ваш кейс. А куда писали? Лучше на гитхаб
а, да, вижу ваше письмо.. извините, не знаю, почему не ответил. Поэтому лучше на гитхаб, там мы все issue постоянно мониторим

Google

Pavel
02.02.2017
13:42:03

Ildar
02.02.2017
13:45:07
вот в том и дело, что у нас пока нет идей, как это можно реализовать. Сам постгрес такого функционала не имеет. Есть большие сомнения что это вообще возможно реализовать в рамках экстеншена
может быть возможно написать свой мета-индекс через кастомный access method (начиная с 9.6), но это нужно исследовать

James
02.02.2017
14:46:33
хелл лоу всем
подскажите по cannot execute DROP DATABASE in a read-only transaction
нода находится в реплике
можно ли удалить без переключения в мастер?
9.4

Аггей
02.02.2017
14:50:05
Удалив на мастере ))

James
02.02.2017
14:51:48
ну блин как я мог так затупить. спасибо огромое

vladget
02.02.2017
15:14:38
Привет! Вот только в 9.5 такое:
# sudo -u postgres psql
psql (9.5.5)
Type "help" for help.
postgres=# grant all privileges on database zabbix to zabbix;
GRANT
postgres=# alter database zabbix owner to zabbix;
ALTER DATABASE
postgres=# \q
# psql -U zabbix zabbix
psql (9.5.5)
Type "help" for help.
zabbix=> select * from users;
ERROR: permission denied for relation users
zabbix=> \dp+ users
Access privileges
Schema | Name | Type | Access privileges | Column privileges | Policies
--------+-------+-------+-------------------+-------------------+----------
public | users | table | | |
(1 row)
на 9.2 / 9.4 такого нет
что не так?

Google

Alexandr
02.02.2017
15:15:41
шалом, есть задача сравнивать структуру двух БД, есть инструменты бесплатные и годные?

vladget
02.02.2017
15:16:28
pg_dump --schema-only

Alexandr
02.02.2017
15:16:36
и диф?

vladget
02.02.2017
15:16:42
а потом diff -u :))

Alexandr
02.02.2017
15:16:47
ёпрст
ну, как вариант, да

vladget
02.02.2017
15:25:08
postgres=# alter role zabbix superuser;
ALTER ROLE
единственное что лечит
но это супер криво
что я делаю не так?

Andrey
02.02.2017
15:27:10
Для доступа к некоторым системным каталогам или вызова некоторых функций нужен обязательно superuser, это проверяется в коде и никак вроде не обойти.

vladget
02.02.2017
15:27:44
Дак это база zabbix
которой он (user zabbix) владелец

Andrey
02.02.2017
15:28:07
неважно

Kirill
02.02.2017
15:29:45

Edvins
02.02.2017
15:29:46

vladget
02.02.2017
15:32:10

Alexandr
02.02.2017
15:32:34

vladget
02.02.2017
15:32:55
это глюк, так как \dp+ показывает пустые пермишенсы

Игорь
02.02.2017
15:35:56

Google

Kirill
02.02.2017
15:36:22

vladget
02.02.2017
15:37:34
# select * from information_schema.role_table_grants where table_name='users';
grantor | grantee | table_catalog | table_schema | table_name | privilege_type | is_grantable | with_hierarchy
---------+---------+---------------+--------------+------------+----------------+--------------+----------------
(0 rows)
Есть какой то рецепт для 9.5 что бы создать базу и определить для нее безусловную роль?

Kirill
02.02.2017
15:41:47
вы создали таблицы от другого юзера, дайте забиксу прав и создавайте таблицы от него

Петр
02.02.2017
15:50:29
Вы выдали привилегию all на БД, вы то и получили (connect, temporary on database)
GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] }
ON DATABASE database_name [, ...]
TO role_specification [, ...] [ WITH GRANT OPTION ]
т.е. пользователь получил:
{ CREATE | CONNECT | TEMPORARY | TEMP }

vladget
02.02.2017
16:09:04
Ну я после смены аунера точно мог читать из базы
Может конечно из свежесозданных таблиц
Так как мне сменить пермишенсы для текущих таблиц?

Петр
02.02.2017
16:17:55
Скрипт накатайте

Kirill
02.02.2017
16:18:49
grant on all tables in schema

Петр
02.02.2017
16:20:08
Если схем 100500?
Проще скрипт

Kirill
02.02.2017
16:20:52
в забиксе их меньше чем 100500

Петр
02.02.2017
16:29:29
У него всё равно не будет еще доступа к схеме, функциям, сиквенсам, доменам, фдв, типам и пр
Можно, конечно, на такую небольшую БД, как заббикс и вручную повыдавать привилегии, в этом случае быстрее будет даже просто пересоздать БД под нужным пользователем

Evgeniy
02.02.2017
16:44:56
дайте usage на схему public

Google

Evgeniy
02.02.2017
16:45:07
и права на таблички
щас для десяточки обсуждают концепт Superowners
как раз из-за такой фрустрации
но конечно же они в десяточку это не сделают, пушо начался последний коммитфест

Ivan
02.02.2017
17:08:31
и что даст superowners? точнее что он будет уметь?

Evgeniy
02.02.2017
17:08:41
никто не знает! обсуждают
https://www.postgresql.org/message-id/CANP8+jKuoxD6aFmXCyGuyWR6U_mGiXzoXqUAnLTMa=yV0-OTxg@mail.gmail.com

Ivan
02.02.2017
17:14:54
я так понимаю основная трудность в том, чтобы дать права на все табличкы в бд и при добавлении таблички не страдать?

vladget
02.02.2017
18:06:59
# psql -U zabbix postgres
psql (9.5.5)
Type "help" for help.
postgres=# create database zabbix;
CREATE DATABASE
# cat /tmp/zabbix.sql | psql -U zabbix zabbix
вот так вроде с пермишенсами все гуд

Петр
02.02.2017
18:09:18
конечно, под пользователем заббикс же

Shaz
02.02.2017
18:18:22
https://github.com/postgrespro/jsquery - а вот это только под linux существует?

Konstantin
02.02.2017
22:23:50

Sergey
03.02.2017
06:05:05

Артур
03.02.2017
07:00:41
#вопрос
В postgresql как-то можно получить дату обновления записи?
Ну судя по сортировке - эта дата точно где-то есть
Возможно мета-информация. Но как получить к сожалению не нашел

Fike
03.02.2017
07:01:54

Артур
03.02.2017
07:02:33
Странно. А чего тогда записи скачат как дурные. Я предполагал что каждая запись последоваельно сохраняется, а не хаотично
Причем при редактировании запись подскакивает вверх
Если не писать orderby

Google

Alexey
03.02.2017
07:02:56
Не такого в постгре. Руками делается.

Артур
03.02.2017
07:03:06
Жаль

Alexey
03.02.2017
07:03:08
В мускуле тоже нет. Либо нет прямо, либо есть и не работает.

Артур
03.02.2017
07:03:23
Спасибо за пояснение :)

Fike
03.02.2017
07:03:34

Артур
03.02.2017
07:06:27
Тогда вот еще вопрос.
Читал я о такой вещи как история транзакция строки. И типа вакумом это чистится.
Это вообще люди ипользуют как-то или это для целостности просто информация?

Vadim
03.02.2017
07:07:47
Это вы наверное о MVCC

Fike
03.02.2017
07:13:11
Насколько знаю, хранятся только xmax и xmin, определяющие транзакцию создания и удаления строки https://www.postgresql.org/docs/9.6/static/storage-page-layout.html
хранить саму историю транзакций в этом случае не имеет смысла, потому что ее можно восстановить, пока не был запущен вакуум (и все равно эти айдишники сами по себе вряд ли многое скажут)

Артур
03.02.2017
07:18:30
Жаль. А что тогда исопользуют для того чтобы помнить что менялось и как?
отдельную таблицу историй?
Может есть что-то типа git :) только для записей БД
?
Понятно что триггеры прикрутить можно на изменение конкретных полей. Но может есть уже готовые решения.

Vadim
03.02.2017
07:20:39
https://github.com/pgaudit/pgaudit

Артур
03.02.2017
07:21:33

Vadim
03.02.2017
07:22:53
да. Использовал. логи в формате csv + file_fdw + pgaudit.