@pgsql

Страница 489 из 1062
Fike
24.09.2017
13:45:08
event sourcing, если коротко.
это не коротко, это всё переписывать

но, конечно, лучший вариант

Google
Igor
24.09.2017
13:46:28
От модели артефактов отказаться не могу из-за сквозного тегирования всех сущностей. Ну нахер связи сущность N -> тэг для каждой прописывать

event sourcing, если коротко.
Слишком сложно для меня пока что. Первый проект, где я на бэке сижу. До этого на мобайле только был. Я и с этой схемой уже начинаю с ума сходить, а если еще и две БД буду держать, вообще ебнусь...

Fike
24.09.2017
13:57:47
Там вторая бд не нужна, но подход кардинально иной, да.

Igor
24.09.2017
13:58:52
А можете подсказать, view на скрине вытащит данные по артефактам, у которых самая большая версия среди остальных c таким же id?







Yuriy
24.09.2017
14:05:44
А можете подсказать, view на скрине вытащит данные по артефактам, у которых самая большая версия среди остальных c таким же id?
Может не надо джойнами так разбрасываться, попробуй настроить оптимизатор... https://postgrespro.ru/docs/postgrespro/9.6/geqo-pg-intro.html Я бы делал мат вьюху и индексил. > у которых самая большая версия среди остальных c таким же id Sorted by, не ?

Philipp
24.09.2017
14:17:23
мне одному кажется, что LEFT JOIN в этом запросе не делает ничего?

Igor
24.09.2017
14:20:27
мне одному кажется, что LEFT JOIN в этом запросе не делает ничего?
Вроде как делает. Отбирает только последнии версии, нет?

Щас проверю :) Так проще будет

Philipp
24.09.2017
14:24:52
Вроде как делает. Отбирает только последнии версии, нет?
Он джойнит все, что выбралось слева от него, с предыдущими версиями, если они есть, помещая их в столбцы b.*, после чего эти столбцы игнорируются, а на выходе получается то, что было слева от джойна, где строки, у которых есть предыдущие версии, продублированы соответствующее число раз. По крайней мере, мой встроенный статический анализатор так говорит

Google
Igor
24.09.2017
14:25:59
Хм, в другую сторону что-ли сделать. Сначала заджойнить на a, потом поставить условие b.version > a.version при джойне на b и сделать выборку полей по b

Yuriy
24.09.2017
14:26:15
Philipp
24.09.2017
14:31:41
может, если > поменять на < и добавить WHERE b.id IS NULL...

но быстро точно не будет)

Igor
24.09.2017
14:33:59
но быстро точно не будет)
Вообще не принципиально. Мне нужно сделать простой прототип пока что.

Потом припрет - буду оптимизировать

Diskord
25.09.2017
00:33:30
Всем привет.

Сразу пару вопросов по pl/pgsql. Насколько я понял пакетов как в оракловом pl/sql в pl/pgsql нету?

Алексей
25.09.2017
00:38:24
нету. если есть такая привычка, в кажестве пакетов можно использовать отдельные схемы

Diskord
25.09.2017
01:11:23
Спасибо. И ещё можно ли как то подсчитать количество строк, которое извлекается из явного курсора, в оракле за это отвечает атрибут %ROWCOUNT?

Алексей
25.09.2017
01:35:31
Предполагаю, что в постгрисе нет аналога ораклового SQL%ROWCOUNT

Сергей
25.09.2017
07:04:09
Такое есть, но только для языка Plpgsql https://postgrespro.ru/docs/postgrespro/9.6/plpgsql-statements 42.5.5. Статус выполнения команды GET [ CURRENT ] DIAGNOSTICS переменная { = | := } элемент [ , ... ]; для получения числа обработанных строк: ROW_COUNT bigint число строк, обработанных последней командой SQL

Alexey
25.09.2017
07:53:06
День добрый! Приглашаем всех энтузиастов Greenplum и PostgreSQL на митап, посвященный первому 100% open-source релизу Greenplum. 27 сентября в Москве http://l.tinkoff.ru/greenplum и 28 сентября в Петербурге http://l.tinkoff.ru/greenplumspb расскажем о новых возможностях Greenplum 5, поделимся собственным опытом использования и дадим потрогать релиз 5.0 своими руками в облачной инфраструктуре. Спикеры расскажут, почему так важен официальный релиз Open Source Greenplum 5, как им правильно пользоваться и в каких областях можно успешно применять.

Max
25.09.2017
19:07:10
Господа, есть вопрос, пишу проект который будет наполнятся с других ресурсов, нужно придумать механизм который реализует углубленную проверку на дубли, который основывается на анализе текста и полнотекстовом поиске. Возможно кто-то сталикивался уже и есть какие-то готовые решения ?

M
25.09.2017
19:45:01
дубль-детектор- в части хранения или в части выдачи при запросе ?

готовых решений не ищите, начните с последовательной постановки задачи

Aleksey
25.09.2017
22:19:18


Привет всем. У меня трабл возник с left join'ами. Для каждой категории есть другие таблицы связанные cat_id=id.

Мне нужно взять те у которых категория совпадает.

Можете решение подсказать?

Google
Denis
25.09.2017
22:50:13
Можно подробнее, я с утра не могу осознать вопрос)

Alex
26.09.2017
08:04:49
Всем, привет, на тестовой базе 9.5 произошел вчера такой глюк, разработчик создавал таблицу sql> CREATE TABLE public.inventory_supplier ( uuid uuid NOT NULL, user_id varchar(64) NOT NULL, created_at timestamp NOT NULL DEFAULT now(), updated_at timestamp NULL, state varchar(16) NOT NULL, payload jsonb NULL, CONSTRAINT inventory_supplier_pkey PRIMARY KEY (uuid, user_id) ) [2017-09-25 17:50:12] completed in 27s 93ms Во-первых 27 секунд, во вторых таблица в базе не появилась, Мы логируем запросы больше 1 сек, соотв оно папало и в лог сервера: 2017-09-25 17:50:12 MSK LOG: duration: 27065.925 ms execute S_1/C_2: CREATE TABLE public.inventory_supplier ( uuid uuid NOT NULL, user_id varchar(64) NOT NULL, created_at timestamp NOT NULL DEFAULT now(), updated_at timestamp NULL, state varchar(16) NOT NULL, payload jsonb NULL, CONSTRAINT inventory_supplier_pkey PRIMARY KEY (uuid, user_id) )

Но таблички на сервере не оказалось, после, этим же запросом, я создал табличку и все нормально, еще несколько раз дропал и создавал. В чем может быть проблема, куда копать?

Denis
26.09.2017
09:10:17
А проблемный запрос вообще до базы доехал? Это же не логи самого pg, верно?

Alex
26.09.2017
09:12:49
А проблемный запрос вообще до базы доехал? Это же не логи самого pg, верно?
Лог с базы, у нас log_min_duration_statement = 1000, поэтому он туда попал

Maksim
26.09.2017
09:13:33
Лог с базы, у нас log_min_duration_statement = 1000, поэтому он туда попал
pg_stat_activity не смотрели пока create table выполнялся?

Alex
26.09.2017
09:14:14
pg_stat_activity не смотрели пока create table выполнялся?
нет, это разработчик кинул уже после выполения

Denis
26.09.2017
09:14:28
Я правильно понял, что повторно воспроизвести проблему не удаётся?

Alex
26.09.2017
09:14:54
Denis
26.09.2017
09:16:13
И тот проблемный запрос успешно закоммитился?

Артур
26.09.2017
10:34:13
Вопрос. В Postgres храню персональные данные. Тут появилась задачка от начальства - получить лиценизию оператора персональных данных. Есть где нормальный материал по тому как это делать? Шифрую информацию в БД по ГОСТ_28147-89

Vitality
26.09.2017
10:35:10
https://google.gik-team.com/?q=%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80+%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85+%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85

Andrey
26.09.2017
10:35:36
Вопрос. В Postgres храню персональные данные. Тут появилась задачка от начальства - получить лиценизию оператора персональных данных. Есть где нормальный материал по тому как это делать? Шифрую информацию в БД по ГОСТ_28147-89
Я точно не помню деталей, но когда мы проходили сертификацию, в основном там были вопросы по ОС. - регулярное обновление - ограничение количества неверных паролей - ограничение доступа к БД по хостам и тп

Артур
26.09.2017
10:35:40
https://google.gik-team.com/?q=%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80+%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85+%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
Можешь ссылку еще и на сам ФЗ скинуть, ато ведь я в гугле не сидел до этого сутки

http://infoprotect.net/note/klassy-zashhity-informatsii#1a

Даже такое нашел, но не сильно помогло

Vitality
26.09.2017
10:37:31
бедолага(( Просто в первой же ссылке в вики есть ссылки на статьи и законы

Google
Vitality
26.09.2017
10:37:53
как правило, если есть статья, то в ней же и ее описание.

http://regforum.ru/posts/1913_a_vasha_organizaciya__operator_personalnyh_dannyh/

о боже мой, это же прям туториал

второй ссылкой в гугле

Артур
26.09.2017
10:42:04
Так, стоп.

Попробую как-то переформулировать ?. Я понял что вы списали на мою невнимательность и ленность ? У нас CRM. Отдельного сервака "в клетке" нет. Арендуем сервер у хостера. CRM написана на питоне. БД Postgres. Шифрование происходит на стороне питона и уже зашифрованные данные уходят в бд "чистым" запросом, обратно так же. Информация дешифруется также на питоне. В БД ничего не происходит. Физически БД находится отдельно от сервера. обмен происходит по ssh Итак: какие еще меры безопасности нужно предпринять чтобы соответсвовать закону. Как это скажется на БД? Что-то нужно переделывать будет или нет?

http://regforum.ru/posts/1913_a_vasha_organizaciya__operator_personalnyh_dannyh/
Его читал и там больше бумажные формальности описаны. Нет там параллелей. Например не говорится "Технический паспорт информационных систем персональных данных" и хостинг как могут быть вместе? Как я понимаю сервер должен быть изолирован и к нему должны иметь доступ ограниченные лица чуть ли не по журналу

Артур
26.09.2017
10:54:15
Попробую как-то переформулировать ?. Я понял что вы списали на мою невнимательность и ленность ? У нас CRM. Отдельного сервака "в клетке" нет. Арендуем сервер у хостера. CRM написана на питоне. БД Postgres. Шифрование происходит на стороне питона и уже зашифрованные данные уходят в бд "чистым" запросом, обратно так же. Информация дешифруется также на питоне. В БД ничего не происходит. Физически БД находится отдельно от сервера. обмен происходит по ssh Итак: какие еще меры безопасности нужно предпринять чтобы соответсвовать закону. Как это скажется на БД? Что-то нужно переделывать будет или нет?
Как это потом проверять будут? придут и я им на питоне код покажу и скажу потом: вот 30 этапов шифрования и вот запрос на запись/обновление" а вот считывание аналогично. Тоесть при краже (полном дампе или снятии образа жесткого диска) БД - ничего считать не смогут.

Айтуар
26.09.2017
10:55:42
бэк и бд на разных серверах
но у одного хостера?

Артур
26.09.2017
10:56:04
ну а что смысла шифровать если на стороне приложения ключ лежит
А иначе как? Приложение серверное. Оно же отвечает за распределние прав доступа к персональным данным. то есть исходный код не доступен обычному пользователю

Fike
26.09.2017
10:57:38
А иначе как? Приложение серверное. Оно же отвечает за распределние прав доступа к персональным данным. то есть исходный код не доступен обычному пользователю
Теоретически можно шифровать данные пользователя ключом самого пользователя, который становится доступен через средства авторизации (условно говоря, который нельзя использовать без введения пароля).

Артур
26.09.2017
10:59:51
но тогда только сам пользователь сможет видеть свои данные, я так понимаю
Верно. Менеджерам клиентская база тогда не доступна будет. ?

Айтуар
26.09.2017
11:01:11
Работа с перс-данными это больше оранизационная работа нежели шифрование.

Fike
26.09.2017
11:01:39
но тогда только сам пользователь сможет видеть свои данные, я так понимаю
Около того. Можно сделать ключ доступа к некоторому домену, зашифровать его с помощью пароля первого пользователя и исходный вариант удалить. После этого первый пользователь может расшифровать ключ и аналогичным образом дать к нему доступ еще кому-нибудь.

Google
Fike
26.09.2017
11:02:23
Почему?

Айтуар
26.09.2017
11:06:49
Не нужно придумывать сложную схему защиты, нужно сначало описать список угроз и требований законодательства, и потом уже потом конструировать систему. Иначе будет уродец который ничего не защищает, но зато он есть в списке разрешённого софта у ФСБ и т.п. организаций, но зато оно не работает. (Это я о СекретНет и т.п. говнософте)

Fike
26.09.2017
11:10:19
Ну, я сейчас не про государственные стандарты, я про то, как обойти хранение секрета для дешифрации в открытом виде в том же месте, где сохраняются данные.

Артур
26.09.2017
11:15:11
у PRO версии Postgeres есть какой-то комлпекс защит, который можно просто внедрить, или это всё чушь?

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

Andrey
26.09.2017
11:23:55
у PRO версии Postgeres есть какой-то комлпекс защит, который можно просто внедрить, или это всё чушь?
У нас есть сертифицированная ФСТЭК версия с доработками соответствующими требованиям по обработке ПД всех типов. Но ее надо правильно ставить на соответствующие ОС. Если не путаю весь комплекс все равно надо аттестовать

Andrey
26.09.2017
11:29:09
Fike
26.09.2017
11:46:35
Какой поиск по данным, к которым нужно ограничить доступ?

Страница 489 из 1062