@pgsql

Страница 899 из 1062
Kirill
23.07.2018
10:30:05
Вам сверху скинули ссылку на доку

Либо можно совсем по другому. Через pg_try_advistory_xact() в WHERE. Как это делается - в поиск.

Kirill
23.07.2018
10:55:45
спасибо

Alexander
23.07.2018
10:58:53
Коллеги, а кто как управляет версионированием схемы базы данных? Какие используете системы выката (и отката) обновлений схемы и данных?

Google
Kirill
23.07.2018
10:59:29
Yaroslav
23.07.2018
11:01:29
Реальная проблема на проекте с 2.5 землекомпами
Ну так я и спрашивал, какая у вас цель? А то вы только про средства...

Kirill
23.07.2018
11:04:39
цель - получать строку, от момента выборки до момента коммита транзакции, не давая возможности кому-то параллельно видеть незакомиченные изменения,а так же производить вборку именно этой строки. по-моему я это описывал)

вроде бы всю инфу получил. но уперлось в union all, об этом тоже писали, пока думаю

Ilia
23.07.2018
11:05:51
Ну просто обработай по порядку все часть UNION

Ты же всё равно UPDATE в одной из нескольких таблиц будешь делать, правильно?

Kirill
23.07.2018
11:06:54
да, кстати union по одной и той же таблице

Ilia
23.07.2018
11:07:04
Тогда его можно просто убрать

Ilia
23.07.2018
11:07:12
Заменив на OR

Kirill
23.07.2018
11:07:39
Заменив на OR
нет подойдёт, либо я слишком сложно смотрю на вещи

Yaroslav
23.07.2018
11:08:14
Ну таски какие-то он явно обрбатывает
Так вроде он говорил, что нет... или я не так понял.

Google
Ilia
23.07.2018
11:10:33
Запрос с UNION ALL всегда можно расписать без UNION ALL, но с OR.

Darafei
23.07.2018
11:12:22
нельзя, если селект из разных таблиц

Ilia
23.07.2018
11:12:47
И наоборот, но UNION уже может быть не ALL..

нельзя, если селект из разных таблиц
Ну это подразумевается, что из одной, выше это обговорили.

Kirill
23.07.2018
11:14:59
Запрос с UNION ALL всегда можно расписать без UNION ALL, но с OR.
Есть 3 типа "тасков" new,in-progress,ready, интересуют только new и in-progress сначала я получаю new, потом добавляю in-progress, которые недоделаныые пользователеми(висят на них долго, потом добавляю in-progress, которые на текущем пользователе) и всё это из одной табилцы, для каждого блока "недоделанных" и "заброшенных" есть свои условия выборки, по этому я не представляю как это сделать без union

Ilia
23.07.2018
11:16:14
or, in , ...

Kirill
23.07.2018
11:17:39
короч, скину лара-код, иначе не объяснишь.

Anton
23.07.2018
11:21:54
А с чем связано, что достаточно не тривиально поменять порядок столбцов в таблице? Или сделать alter с указанием в какую позицию добавить столбец. В чем тут вся сложность заключается, что этого нет в postgresql?

Или можно?

Aleksander
23.07.2018
11:24:05
А с чем связано, что достаточно не тривиально поменять порядок столбцов в таблице? Или сделать alter с указанием в какую позицию добавить столбец. В чем тут вся сложность заключается, что этого нет в postgresql?
Нельзя, только если новую таблицу создать. Связано с тем как физически хранятся данные. Нигде нет отображения что столбец aaa это на диске 15-ое поле. Потому что такое отображение было бы лишними накладными расходами, приходилось бы одно в другое мапить.

А зачем его вообще менять? Смысл? Он ни на что не влияет.
+1 правило хорошего тона писать точно какие поля и в каком порядке ты хочешь в select'е, не select *

иначе проблемы - при изменении схемы ломается приложение

Ilia
23.07.2018
11:25:35
Да да да

Aleksander
23.07.2018
11:26:03
На самом деле про aaa = 15 поле я плохо написал, на самом деле в каталоге есть именно это отображение

Но если менять порядок, то придется обновлять все таплы. ИЛИ иметь отображение что 15-ое поле на самом деле теперь как бы 14-ое. Вот этого второго отображения нет

Yaroslav
23.07.2018
11:26:51
Anton
23.07.2018
11:28:16
Но если менять порядок, то придется обновлять все таплы. ИЛИ иметь отображение что 15-ое поле на самом деле теперь как бы 14-ое. Вот этого второго отображения нет
А просто в конструкцию select * это учитывать не меняя физически хранение? Вообще я согласен про явное указание полей, но было интересно, может есть какая то логика и поэтому оно именно так

Google
Aleksander
23.07.2018
11:36:45
А просто в конструкцию select * это учитывать не меняя физически хранение? Вообще я согласен про явное указание полей, но было интересно, может есть какая то логика и поэтому оно именно так
В такой формулировке звучит как не самая бесполезная фича. Можете попробовать предложить патч. Но я предвижу что там выплывают подводные грабли во вьюхах, наследовании, партициях, fdw и еще где-нибудь

Dmitry
23.07.2018
12:30:37
Есть мнение, что использовать SELECT * так же естественно, как и C++ ?

Denis
23.07.2018
12:31:23
а сможете раскрыть мысль? :)

Ilia
23.07.2018
12:32:08
Просто "SELECT *" не место в production коде (и я подозреваю, что committer-ы считают так же). Так что — только время потратите, IMHO.
Я про select * диаметрально противоположного мнения, но если ты используешь SELECT *, то, очевидно, нужные поля тебе ты обязан искать по именам.

В любом случае, менять физический порядок полей в таблице бессмысленно.

Dmitry
23.07.2018
12:33:24
а сможете раскрыть мысль? :)
Мысль: "использовать с осторожностью".

Yaroslav
23.07.2018
12:36:12
Я про select * диаметрально противоположного мнения, но если ты используешь SELECT *, то, очевидно, нужные поля тебе ты обязан искать по именам.
Хмм... почему? (Я к тому, что это одна из общеизвестных bad practices (вообще для всех RDBMS, наверное), и есть аргументы в пользу такого утверждения.)

Ivan
23.07.2018
12:36:12
Коллеги, а можно как-то отсортировать по второму уровню jsonb? Например { "tags": { "name": "Max" } }

elfiki
23.07.2018
12:36:33
да

order by json->'tags'->>'name'

Ivan
23.07.2018
12:37:06
order by json->'tags'->>'name'
а по второму уровню?

elfiki
23.07.2018
12:37:23
Ilia
23.07.2018
12:38:08
Хмм... почему? (Я к тому, что это одна из общеизвестных bad practices (вообще для всех RDBMS, наверное), и есть аргументы в пользу такого утверждения.)
Проблема не в непредсказуемости набора полей набора данных, а в том, как приложение ищет нужные ему поля в этом наборе.

Ivan
23.07.2018
12:39:20
исправил
Спасибо! Я в первом ставил -> по невнимательности

Yaroslav
23.07.2018
12:40:02
Ilia
23.07.2018
12:42:38
Проблема только в этом. А в гугле можно найти любую ерунду.

The
23.07.2018
12:46:05
ребятки, подскажите где есть годные дата сеты для постгрес, хочу запросы пописать и потюнить базу немного.

Google
The
23.07.2018
12:46:31
генерировать липовые данные не очень интересно и лень, может есть что-то готовое

желательно не больше 10ГБ в сжатом виде

Ilia
23.07.2018
12:47:12
Ну, можно посоветовать tpc-h...

The
23.07.2018
12:48:16
http://www.tpc.org/tpc_documents_current_versions/download_programs/tools-download-request.asp?bm_type=TPC-H&bm_vers=2.17.3&mode=CURRENT-ONLY Это?

это что-то вроде тулзы генерирующей данные?

Admin
ERROR: S client not available

X
23.07.2018
12:52:51
Попробуй найти, должно быть быстрее, чем генерить данные

The
23.07.2018
12:53:22
Я пытался, но везде либо гавно мамонта 2008 года, либо базы на 100500ТБ которые мне на диск даже не влезут. :(

X
23.07.2018
12:53:24
Если нацелен на а таблички по 100млн, это будет долговато

2008 это что?

Типо не мог развернуть или что?

The
23.07.2018
12:53:59
аналог saqila и dell store

там вообще идут *.exe файлы для заливки, если я правильно понял

X
23.07.2018
12:54:27
?

The
23.07.2018
12:54:56
может я и ошибаюсь, http://linux.dell.com/dvdstore/

вот короче

X
23.07.2018
12:55:03
Скачай для начала какую-нибудь небольшую базу интернет магазина

The
23.07.2018
12:55:29
Скачай для начала какую-нибудь небольшую базу интернет магазина
хех, где бы её взять))) я как раз в идеале и ищу интернет-магазин

X
23.07.2018
12:55:33
See readme.txt for more details

Google
Amir
23.07.2018
12:55:35
подскажите autovacuum_analyze_scale_factor задается от размера таблицы, а с учетом индексов или без?

The
23.07.2018
12:55:52
The
23.07.2018
12:57:20
Даркнет?))
я даже не думал об этом. но идея годная. главное чтоб пативен не выехал за мной

X
23.07.2018
12:58:17
Да ну вряд ли, у них уже такие базы есть)

Amir
23.07.2018
13:05:31
подскажите autovacuum_analyze_scale_factor задается от размера таблицы, а с учетом индексов или без?
и еще если по таблице небыло вакуума то значит в ней много dead tuples строк, то значит ее размер может быть слишком завышенным, что бы вновь добавленные строки не смогли вызвать аналайз и автовакуум?

Vladimir
23.07.2018
13:32:46
Alexander
23.07.2018
13:39:51
я использую knex.js и почти доволен
Это скорее конструктор запросов. Не то, что нужно. Интересует именно система контроля версий схемы БД и механизм наката изменений и отката в случае ошибки. Как пример - https://habr.com/post/121265/

Vladimir
23.07.2018
13:40:40
там есть миграционный тул

но его имеет смысл юзать, если само приложение на ноде(как у нас)

типа рельсовых миграций

Ketzal
23.07.2018
13:52:19
Коллеги, а wal-g в связке с minio(совместимое с s3 хранилище) юзает кто? Брат жив здоров?

Alexander
23.07.2018
13:56:01
там есть миграционный тул
Ок, спасибо. Попробуем. Ни у кого больше нету рабочих примеров?

Yaroslav
23.07.2018
13:58:23
Vadim
23.07.2018
14:00:49
https://github.com/yandex/pgmigrate

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