@pgsql

Страница 926 из 1062
Yaroslav
08.08.2018
13:54:42
The
08.08.2018
13:55:26
да, это для флэт таблицы?

ещё джойны навешать, если по хорошему

Yaroslav
08.08.2018
13:57:54
да, это для флэт таблицы?
Да. А для 6NF можно сделать VIEW, который даёт Вам ту же таблицу, но, конечно, менять его куда менее удобно.

Google
The
08.08.2018
13:59:17
я пишу проект на Go, и там все товары/артикулы в строгих структурах, null поля там геморройно сканить из базы, на каждое null поле много боли приходится.

по сути характеристики товара это то, что один раз заполнил, и оно там валяется, единственно что выборки делать по ним, но в случае с JSON можно просто сделать валидацию и так и отправить в базу.

в случае флетов там очень много гемморроя появляется.

вот поэтому и говорю, что JSON можно гонять туда сюда от клиента в базу, на выборку, даже не занимаясь толком обработкой запроса. это знатно так облегчает работу.

но если вдруг придется обновить какое-то значение у товара, тогда придется лезть либо в каждый товар где есть это значение, либо json юзать как k:v хранилище, а сами значения и локализацию к ним уже в нормальных таблицах.

The
08.08.2018
14:03:28
не совсем понял вашей иронии, но если хочется - то запишите)

Виктор
08.08.2018
14:05:00
Я придерживаюсь позиции, если мы говорим о РСУБД, то хранить в нормализованном виде, а под выборки скармливать данные хоть тому же ElasticSearch-у. json в РСУБД способен немало крови попить.

The
08.08.2018
14:06:37
эластик хорош, да, но пока его не будет скорее всего, а выборки делать надо

и с кровью попить тоже согласен

Ilia
08.08.2018
14:07:08
The
08.08.2018
14:09:24
А выборки делать надо... Но JSON... Но надо...
да, это называется проектирование, когда думаешь, перед тем как начать делать.

Google
Heisenberg
08.08.2018
14:14:54
ещё вопрос, в postgresql как-то можно сделать что-то типа if else в when?

выборочное условие

Ilia
08.08.2018
14:15:50
alex
08.08.2018
14:23:21
посоны, поделитесь опытом. кто и как/чем конверттировал бд mssql -> posgri

Yaroslav
08.08.2018
14:24:50
посоны, поделитесь опытом. кто и как/чем конверттировал бд mssql -> posgri
А что такое postgri? ;) https://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL#Microsoft_SQL_Server

Yaroslav
08.08.2018
14:28:59
сам тыкал ?
Да, но давно. Приходилось допиливать, всё равно. Может, сейчас всё куда лучше.

alex
08.08.2018
14:29:42
сча попробую вот это https://www.spectralcore.com/trial/fc-ent

Shuro
08.08.2018
16:21:25
»Кроме PG

дык есть же этот

extension когда они есть

Он ещё один из тех редких, что есть в pg rds

Andrey
08.08.2018
16:47:33
Ребят, а что нынче модно юзать поверх реплики master-slave чтобы запросы на select балансить на оба сервака, а INSERT/UPDATE/DELETE на master?

Yaroslav
08.08.2018
16:52:15
Ребят, а что нынче модно юзать поверх реплики master-slave чтобы запросы на select балансить на оба сервака, а INSERT/UPDATE/DELETE на master?
А Вы каким механизмом concurrency control пользуетесь на master? И вообще, Вас корректность сильно волнует? ;)

Andrey
08.08.2018
16:57:23
А Вы каким механизмом concurrency control пользуетесь на master? И вообще, Вас корректность сильно волнует? ;)
корректность чего? данных внутри базы или на реплике? У меня streaming репликация.

Yaroslav
08.08.2018
16:58:10
корректность чего? данных внутри базы или на реплике? У меня streaming репликация.
Первый вопрос — про "внутри базы", второй — на реплике.

Andrey
08.08.2018
16:59:31
Первый вопрос — про "внутри базы", второй — на реплике.
а какие механизмы concurrency control существуют? может чего и используем, но не то чтобы прям специально.))) По второму вопросу, я понимаю что реплика может отставать и это ок

Yaroslav
08.08.2018
17:01:43
а какие механизмы concurrency control существуют? может чего и используем, но не то чтобы прям специально.))) По второму вопросу, я понимаю что реплика может отставать и это ок
Или READ COMMITTED + FOR UPDATE, или SERIALIZABLE, по большому счёту. Ладно, раз streaming replica, то это уже не так уж важно (т.е. или у Вас RC+FOR UPDATE, или корректность Вам не очень важна). :)

Google
Mike Chuguniy
08.08.2018
17:17:30
ну в общем и целом да. Так что по балансеру?
А с балансировкой все грустно, печально и тоскливо. Ну и вот это всё. Либо на уровне приложения, либо всю работу с БД заворачивать в ф-ии и балансить по через plproxy

Mike Chuguniy
08.08.2018
17:19:07
пгпул - не знаю, не трогал, а пгбаунсер - точно не про то.

Yaroslav
08.08.2018
17:19:59
а какой нибудь pgpool/pgbouncer это не про то?
Ну pgpool говорят, да. Но его что-то немало ругают, я так понял.

Tolya
08.08.2018
17:29:03
На pgconf2018 Русском был хороший доклад про него от Ingram

Про pgpool

Он как раз про балансировку, ещё про кеширование и failover

The
08.08.2018
17:49:38
а какой нибудь pgpool/pgbouncer это не про то?
https://github.com/dhamaniasad/awesome-postgres тут посмотри

Yaroslav
08.08.2018
18:02:12
а какой нибудь pgpool/pgbouncer это не про то?
Вот ещё, кстати: https://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling#Comparison_matrix

Terminator
08.08.2018
18:22:03
@Neondertalec будет жить. Поприветствуем!

Twelfth
08.08.2018
19:17:04
Почему-то не получается развернуть stolon внутри Kubernetes(не стартует keeper). Кто-то сталкивался с такой проблемой?

Twelfth
08.08.2018
19:17:31
Под stolon-keeper-0 находится в состоянии pending

Heisenberg
08.08.2018
20:05:33
Есть селект, который возвращает таблицу с одной колонкой с типом int, как из него можно сделать массив arr, чтобы можно было проверять наличие какого-то числа в нём? Типа такого: SELECT * FROM table1 WHERE a IN Some_func_to_arr(SELECT * FROM table2 WHERE ...)

подходит обычный ARRAY?

a IN ARRAY(SELECT ...)

Andrei
08.08.2018
20:12:27
Индекс на колонку

Если она селективная

lemi
08.08.2018
20:12:44
массив как то не очень индексируется select * from table1 t1 where exists (select 1 from table t2 where t2.val = t1.a)

Heisenberg
08.08.2018
20:13:26
у меня просто условие в when такое, что нужно проверить, что массив чисел и селект одноколоночной таблицы содержат хотя бы одно общее число

Google
Andrei
08.08.2018
20:13:28
Почему нельзя сразу селект по условию с лимитом 1?

Зачем эти костыли?

Тогда array_agg

Admin
ERROR: S client not available

Andrei
08.08.2018
20:14:17
И операторы сравнения массивов

Heisenberg
08.08.2018
20:14:48
(1, 2, 3) && array_agg(SELECT ...) ?

Darafei
08.08.2018
20:14:55
&& ?

Heisenberg
08.08.2018
20:15:00
да да

Andrei
08.08.2018
20:16:39
A чем не устраивает any?

Если есть готовый массив

ivan
08.08.2018
21:26:46


Или только через bash его запускать?

lemi
08.08.2018
21:32:40
.psqlrc

ivan
08.08.2018
21:34:29
Не очень понял, как это использовать

lemi
08.08.2018
21:34:55
.bashrc sed awk python

а что имеено нужно если в файле подменить переменные то у вас Python прям им и подмените

Let Eat
08.08.2018
22:11:54
Под stolon-keeper-0 находится в состоянии pending
Ну так сделайте describe на него и посмотрите, чего не стартует

unknownperson
08.08.2018
22:35:52
всем привет) кто знает как службы безопасности в банках работают? интересует что они делают при интеграции новых решений от сторонних разработчиков

Let Eat
08.08.2018
22:37:51
Высылают анкету на сотню страниц где надо расписать все, вплоть до того где бэкапы ключей от бэкапов данных :)

unknownperson
08.08.2018
22:38:23
это в каком банке ты с таким сталкивался?)

Google
Dmitry
08.08.2018
22:39:44
В psql(1) есть ключи -v assignment или --set=assignment или --variable=assignment. Можно так: psql -v user=foo, и в скрипте обращаться к переменной user так - :user.

У Вас там запрос будет тогда CREATE USER :user ...

S
08.08.2018
22:40:51
Не очень понял, как это использовать
sql скрипт с помощью чего будет выполняться, с помощью psql? у psql есть параметр: --variable=assignment

ivan
08.08.2018
22:40:57
Не уверен, что это можно сделать из под docker

Хотя, если свой image написать?

S
08.08.2018
22:41:31
@dmitigr не успел :-)

Dmitry
08.08.2018
22:42:00
Не уверен, что это можно сделать из под docker
А скриптом обернуть, который возьмёт переменные окружения и сгенерит вызов psql с ключом -v ?

ivan
08.08.2018
22:44:16
Да, так сойдёт Спасибо)

unknownperson
08.08.2018
22:44:22
Высылают анкету на сотню страниц где надо расписать все, вплоть до того где бэкапы ключей от бэкапов данных :)
а что ещё они делают, что может потребовать время сотрудников банка или каких-то ресурсов? анкета по идее универсальная для всех - т.е. просто скинули и всё или её ещё готовят прямо?

Dmitry
08.08.2018
22:48:43
Да, так сойдёт Спасибо)
Только помните, что если каким-то образом в переменных окружения окажется не то, что нужно, то может случиться SQL-инъекция. Поэтому используйте синтаксис :"foo" или :'foo', чтобы имело место автоматическое экранирование идентификатора или литерала соотстветственно.

Terminator
09.08.2018
04:49:28
DiJey (Pavel) будет жить. Поприветствуем!

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