@pgsql

Страница 270 из 1062
aspirin
14.03.2017
12:56:54
чтобы с начала строк примерно понимать что там лежит

и где искать связь\родителя

Vladislav
14.03.2017
12:57:35
в родительских сиквенс назван как id (потому что и так понятно)
В родительском тоже используем префикс, ибо есть писаки, после которых непонятно, что за id

raksita
14.03.2017
13:05:03
в целом согласен с предыдущими ораторами, дополню: сейчас стараемся избавляться от префиксов, заменяя их схемами

Google
raksita
14.03.2017
13:05:25
один модуль - отдельная схема

Vladislav
14.03.2017
13:07:12
Очень грамотное и интересное решение в свое время я видел в биллинге петер-сервис на оракле. Вот там даже при всем желание не заблудишься.

Например, первичные id шли с четырех символьным сокращением от родителя. Вторичные шли с повторением. Связки четыре символа от одного и второго

Историчность была сделана по scd type 4

История всегда была в отдельное таблице с постфиксом history

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

Sergey
14.03.2017
13:12:38
История всегда была в отдельное таблице с постфиксом history
Старые версии таблиц? Типа что было до миграции?

Vladislav
14.03.2017
13:13:01
Нет, история записей

Darafei
14.03.2017
13:13:11
аудит-лог

Sergey
14.03.2017
13:13:13
А, я уж испугался

Vladislav
14.03.2017
13:15:07
Ну т.е. были таблицы с текущим состоянием и таблица со историей, где по факту добавлялись два поля start_date и end_date. И соответственно если вытаскивать историю на текущий момент, то она равносильна таблице без истории

aspirin
14.03.2017
13:15:08
в целом согласен с предыдущими ораторами, дополню: сейчас стараемся избавляться от префиксов, заменяя их схемами
я так делал раньше, но по мне это работает только на реально больших проектах, или микросервисах

Vladislav
14.03.2017
13:15:53
я так делал раньше, но по мне это работает только на реально больших проектах, или микросервисах
Джойн двух таблиц и вывод полей без изменений названий и разбери, что это за id

Google
Vladislav
14.03.2017
13:17:03
алиасы)
Ну есть писаки, которые не пишут

И опять таки, вот делаешь отчет, понимаешь чутьем, что это id клиента, но почему бы поле не назвать client_id?

Darafei
14.03.2017
13:23:32
natural join, опять же, станет работать

Grigory
14.03.2017
15:38:04
мы же узаконили все из-за сломанного журнала транзакций, видимо в каталоге были старые туплы, описывающие этот же релейшен, интересно, что pg_dump такое не смущает, видимо полностью полагается на то, что постгрес его не обманет

blkmrkt
14.03.2017
17:24:37
ааа, понятно

Айтуар
14.03.2017
17:59:20
Не подскажите статью какую как лечить повреждения блобов?

Sergey
14.03.2017
18:20:40
Toast'ов?

Айтуар
14.03.2017
18:45:14
Grigory
14.03.2017
18:45:44
зависит от характера повреждений

Айтуар
14.03.2017
18:47:41
зависит от характера повреждений
У меня дамп падает с ошибкой. Точно щас не напишу, не за компом, там было что-то про то что не может прочитать какой-то тоаст и номер его.

Grigory
14.03.2017
18:49:44
реплика, бэкапы есть?

Айтуар
14.03.2017
18:52:28
реплика, бэкапы есть?
Не реплика. Бекапы есть. Там повреждения в одной таблице только.

Grigory
14.03.2017
18:53:09
ты не можешь это проверить, лучше восстановись из бэкапа

Айтуар
14.03.2017
18:53:40
Grigory
14.03.2017
18:54:34
вычисли тупл, в котором побился тост, и удали его

Айтуар
14.03.2017
18:55:01
Селектом вычислить?

Grigory
14.03.2017
18:55:19
да

Google
Айтуар
14.03.2017
18:56:07
Ок. Так я и собирался сделать. Просто думал может есть способ проще и быстрее.

Спасибо

Dmitry
15.03.2017
04:25:39
Подскажите пожалуйста удобный движок на php для создания миграций и управления ими

встроенные в фреймворк не дружат с postgresql (

Den
15.03.2017
05:46:24
J

Упс, пардон?

Vova
15.03.2017
06:12:04
?

Fike
15.03.2017
07:55:44
ctrl + f миграци

phinx

у встроенных в доктрину/yii никогда не встречал проблем, пока не начинают колупать сильно специфичные опции

blkmrkt
15.03.2017
15:15:29
Восстанавливаю дамп с psql dbname < dump.sql, можно как-то заставить постгрес продолжать после невалидных данных? Там invalid utf8 sequence встречаются и невалидный json.

Dmitry
15.03.2017
15:15:59
ctrl + f миграци
Спасибо, попробую! Через боль работаю с проектом на codeigniter 2.2.2 с измененными системными файлами, а в CI 2.2.2 нет поддержки PDO psql :( Приходится нативные SQL запросы писать в миграциях

*для изменения структуры таблиц

Fike
15.03.2017
15:20:15
смеха ради - я сейчас натягиваю phinx и еще кое-что через symfony/console на тот же CI 2

Петр
15.03.2017
15:25:22
а, понял, типа файл битый считает

blkmrkt
15.03.2017
15:28:05
хм, он же по умолчанию должен продолжать выполнение скрипта не смотря на ошибки...
Там написано COPY tablename (fields1, field2, ...) from stdin; и дальше табулированная инфа

blkmrkt
15.03.2017
15:29:07
Там написано COPY tablename (fields1, field2, ...) from stdin; и дальше табулированная инфа
я с дефолтным конфигом это запускал на дамп в 1.2TB, сейчас поменял конфиг, перезапустил и жду, может зальется

Google
Петр
15.03.2017
15:29:31
Там написано COPY tablename (fields1, field2, ...) from stdin; и дальше табулированная инфа
а, точно, такое возможно что-то я про —inserts режим думал

Admin
ERROR: S client not available

Fike
15.03.2017
15:38:58
Петр
15.03.2017
15:42:37
если кодировку поменять?

Артур
15.03.2017
15:49:52
oss ¯\_(ツ)_/¯
Думаю в версии 1 всё будет. Пока же версия 0.8 ну а я юзаю миграции ларавел 5.

Блин триграм не работает. Там много настраивать его?

там судя по документации % работает только с каким-то минимальным числом

SELECT variants,similarity(variants, 'восем') FROM libs_complex WHERE variants % 'восем'; —— Не рабоатет

SELECT similarity(variants, 'восем') FROM libs_complex —— Возвращает 0.15151516

Arthur
15.03.2017
18:50:41
а что в variants?

Артур
15.03.2017
18:52:40
Текст. Многострочный

Каждая строка - вариант

ТАблицу один ко многим не делаю вариантов миллиарды иначе будут

Там на каждую строку от 5 до 20 вариантов

Arthur
15.03.2017
18:54:51
он так не работает :) т.е. каждый вариант нужно подавать отдельно

можно еще попробовать функцию word_similarity(). Но он появился только в 9.6

Артур
15.03.2017
18:55:23
INSERT INTO public.libs_complex (id, md, ud, title, variants, locality_id, locality_division_official_id, locality_division_non_official_id) VALUES (1, 1489589644225, 1489589644225, '18', '18 комплекс 18 к-с 18-й комплекс 18-й к-с восемьнадцатый комплекс восемьнадцатый к-с', 1, 1, 1);

Артур
15.03.2017
18:56:49
Google
Darafei
15.03.2017
18:56:56
парсинг адресов :)

Артур
15.03.2017
18:56:57
В смысле говно?

парсинг адресов :)
Нет не парсинг.

Arthur
15.03.2017
18:57:57
"18 к-с" плохая строка для pg_trgm

Артур
15.03.2017
18:59:07
Суть в том, что так ищут менеджеры и вводят такие варианты.

"18 к-с" плохая строка для pg_trgm
Я думал массив использовать. Но чето не смог подключить индекс

Ругается на неверный тип для индекса

Arthur
15.03.2017
19:02:57
да, он только с текстом работает. Например, как в документации: CREATE TABLE test_trgm (t text); CREATE INDEX trgm_idx ON test_trgm USING GIST (t gist_trgm_ops);

не с массивом

Артур
15.03.2017
19:03:42
JSONP еще работает, но его я не смог тоже подружить

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