Makkusu
26.10.2018
06:43:20
Ребят подскажите с запросом
SELECT "Names".ru FROM "Names", "Departments" WHERE "Names".id = "Departments"."nameId"
Правильно ли я оформляю запрос для выборки данных из отношения? Или нужно через join. Давно не работал с бд
Zloy Dobriy
26.10.2018
06:44:08
Andrey
26.10.2018
06:50:39
Любопытно, но через stdout у меня получается быстрее, чем "INSERT .. SELECT" внутри базы. 7 секунд против 11.
Google
Aleksander
26.10.2018
06:54:05
то есть мне сделать вот так?
psql -h 127.0.0.1 -p 9001 -U postgres -c "\copy (select * from table) to stdout" | psql -h 127.0.0.1 -p 9001 -U postgres -c "\copy (select * from table) from stdin"
Andrey
26.10.2018
06:55:38
Aleksander
26.10.2018
06:56:13
Makkusu
26.10.2018
06:56:55
Join
SELECT "Names".fr FROM "Names" LEFT JOIN "Departments" ON "Names".id = "Departments"."nameId"
Примерно так? А какой кстати в этом выйгрыш?
Andrey
26.10.2018
06:57:15
Aleksander
26.10.2018
06:58:37
Zloy Dobriy
26.10.2018
06:59:33
Makkusu
26.10.2018
07:00:14
Примерн
Ну выйгрыша по времени я здесь не вижу. У меня время исполнения например больше уходит. Так в чём смысл?
Zloy Dobriy
26.10.2018
07:01:15
Про выйгрыш я упустил видимо в начальном вопросе
Makkusu
26.10.2018
07:01:37
Zloy Dobriy
26.10.2018
07:02:13
Ну темболее. Ноджойнить правильно
Makkusu
26.10.2018
07:02:44
Zloy Dobriy
26.10.2018
07:03:32
А орм тебе и сделает джой если у тебя в нем описаны релейшоны
Google
Makkusu
26.10.2018
07:04:29
Это в sequelize такое есть?
Zloy Dobriy
26.10.2018
07:05:16
Makkusu
26.10.2018
07:08:47
типо select и всё)
Gennady
26.10.2018
07:15:46
Andrey
26.10.2018
07:18:35
Makkusu
26.10.2018
07:26:21
Михаил
26.10.2018
07:26:40
Zloy Dobriy
26.10.2018
07:28:43
Михаил
26.10.2018
07:30:11
Про inner это я @kagemakkusu . А вот почему джойн правильнее, чем перечислить таблицы во from - это для меня открытый вопрос
Makkusu
26.10.2018
07:32:23
Михаил
26.10.2018
07:34:42
Makkusu
26.10.2018
07:36:03
Ну или не могу найти. В примерах только приводят where и я пока думаю что это самый нужный вариант
Terminator
26.10.2018
07:41:18
Sedelnikov Grigoriy будет жить. Поприветствуем!
Sedelnikov
26.10.2018
07:45:48
Makkusu
26.10.2018
07:54:51
Google
Аггей
26.10.2018
07:59:50
Gennady
26.10.2018
08:00:00
Sedelnikov
26.10.2018
08:04:45
Makkusu
26.10.2018
08:06:16
есть кто с секвалайзом работал? Как мне указать выборку поля по другой таблице?
Пишу attributes: ["Name.ru"] и выбирает все поля из второй таблицы
Аггей
26.10.2018
08:07:58
Ну вот у нас есть одна система, которая живёт себе на oracle (и никто не думал её мигрировать на другую бд), но новые продажи её уже не сделать - оракл теперь идеологически неверно. Есть ощущение, что её проще переписать с 0, чем мигрировать имеющийся код
MikaelBox
26.10.2018
08:08:52
Sedelnikov
26.10.2018
08:12:19
Иногда даже переход с одной версии СУБД на другую вызывает "страх и ужас"...
Makkusu
26.10.2018
08:13:06
А постгрес сам что ли все слова может в plural форму заводить? То есть если назвали базу в singular он сам её меняет в plural форму
Terminator
26.10.2018
08:36:21
@mtsygankov будет жить. Поприветствуем!
@sergusm будет жить. Поприветствуем!
Alexey
26.10.2018
09:59:15
Ребят, а Рostgres же ведь шифрует данные, которые передаются с сервера баз данных на сервер приложения, правильно?
Alex
26.10.2018
10:01:05
Если ссл включен шифрует
Mikhail
26.10.2018
10:09:49
Sab0
26.10.2018
10:10:10
Mikhail
26.10.2018
10:11:59
Artem
26.10.2018
11:25:42
psycopg2.OperationalError: index row size 7408 exceeds maximum 2712 for index "payments_bill_receipt_35b04b45_uniq"
HINT: Values larger than 1/3 of a buffer page cannot be indexed.
Consider a function index of an MD5 hash of the value, or use full text indexing.
Ребят, привет, подскажите что можно красиво тут применить?
Поле text
Konstantin
26.10.2018
11:33:54
Ну там же все альернативы перечислены: md5 или full text search.
Anton [Mgn, az09@osm]
26.10.2018
11:43:21
Google
Mikhail
26.10.2018
11:44:54
пытался грузить срезы за вторник и среду. поведение одно и то же
сам osm2pgsql запускаю на узле 16-32-200SSD
сейчас планирую поднять стандалон десятку с постгис 2.4 и оставить так на время
DiJey (Pavel)
26.10.2018
11:50:40
Две базы с разных серверов что бы сравнить нужен какой-то экстеншн?
Terminator
26.10.2018
11:59:52
@maloletka98 будет жить. Поприветствуем!
Alex
26.10.2018
12:07:39
Yaroslav, мы вообщем склоняемся к тому, что будет вести свой аналог WAL'а, повесить на изменяемых таблицах тригеры, которые будут сбрасывать все операции в таблицу, тем самым получим историю изменения конкретной машины, и при переключении просто сравнивать эту историю, и если есть изменения, то сначала накатить их на слейв, а потом подключить этот слейв в слот
но тут возник такой вопрос, как нам убедиться в том, что между получением диффа мастера-слейв (который мы накатим на слейв), и созданием слота на мастере - в эту самую таблицу не попадут еще какие-то данные?
можно ли получить этот дифф и создать слот в одной "транзакции"?
Slava
26.10.2018
12:20:04
парни, привет. Никто не знает когда подвезут deb пакеты для 11 версии?
Terminator
26.10.2018
12:21:02
@Hwudgf будет жить. Поприветствуем!
@Usarov будет жить. Поприветствуем!
Anton [Mgn, az09@osm]
26.10.2018
12:51:54
Mikhail
26.10.2018
13:02:19
Darafei
26.10.2018
13:08:20
Anton [Mgn, az09@osm]
26.10.2018
13:08:28
Mikhail
26.10.2018
13:22:17
Gennady
26.10.2018
13:57:30
Ген, я потому и говорю, что любопытно. Перепроверял.
Проверил, если таблица узкая (1 колонка int), то copy|copy (format binary) оказался быстрее insert..select в 2.7 раза.
Но если таблица широкая (10 колонок int), то copy|copy (format binary) проигрывает в 1.17 раз выражению insert..select
При этом сам copy (и \copy) становится медленнее в 1.5 раз, если не использовать with(format binary).
Борис
26.10.2018
14:29:26
Slava
26.10.2018
14:32:23
Terminator
26.10.2018
14:57:31
Gleb будет жить. Поприветствуем!
Google
Gleb
26.10.2018
14:57:55
Всем ку.
Ребят, подскажите пожалуйста как сделать:
Есть таблица 'table' c полем extra jsonb -> {status:'new'}
на ней висит тригер на onupdate и oninsert, который должен поменять значение поля в таблице 'table1' собственно на этот status. Поле которое нужно заменить, типа varchar. Не могу придумать как это сделать. Подскажите плз. Спасибо.
Yaroslav
26.10.2018
15:06:37
Yaroslav, мы вообщем склоняемся к тому, что будет вести свой аналог WAL'а, повесить на изменяемых таблицах тригеры, которые будут сбрасывать все операции в таблицу, тем самым получим историю изменения конкретной машины, и при переключении просто сравнивать эту историю, и если есть изменения, то сначала накатить их на слейв, а потом подключить этот слейв в слот
но тут возник такой вопрос, как нам убедиться в том, что между получением диффа мастера-слейв (который мы накатим на слейв), и созданием слота на мастере - в эту самую таблицу не попадут еще какие-то данные?
можно ли получить этот дифф и создать слот в одной "транзакции"?
Я, если честно, забыл (или ещё тогда полностью не понял) Вашу задачу... но, мне помнится, Вам в принципе подходила physical streaming replication отдельного instance, нет?
И Вы всерьёз думаете заменить это простое (пусть и несколько неудобное) решение на то, что Вы сейчас описали?! ;)