@pgsql

Страница 739 из 1062
Darafei
01.04.2018
21:11:33
надо упасть и делать рекавери

Mikhail
01.04.2018
21:12:05
да, хороший вариант

точнее промоут стендбая

это всегда хороший вариант

Google
Darafei
01.04.2018
21:12:47
у тебя ещё и стендбай есть!

Mikhail
01.04.2018
21:13:31
ну да) хотелось бы

я помню был еще случай, когда надо было срочно на стендбай переключаться

что-то в валах вроде могло побиться -- щас вспомню/спрошу у коллег

Yaroslav
01.04.2018
21:59:13
Да, Линукс ужасная операционная система...
И, похоже, не только он: https://www.postgresql.org/message-id/CAEepm%3D0B9f0O7jLE3ipUTqC3V6NO2LNbwE9Hp%3D3BxGbZPqEyQg%40mail.gmail.com

Ilia
01.04.2018
22:02:24
Да, Линукс ужасная операционная система...
Блин, я что-то не посмотрел, 1ое апреля же уже кончилось...

Mike Chuguniy
02.04.2018
04:25:25
Доброе утро, уважаемые коллеги! Ваша дискуссия безумно интересна, но чисто в академических целях. Мы же людишки мелкие, на земле трудимся, нам более практичныех вопросов обсуждать интересно. А именно. Есть необходимость ограничить текстовое поле по длине. На стороне приложения проверка присутствует. Внимание, вопрос: что дешевле с точки зрения потребления ресурсов и быстрее по скорости: в хранимке тупо обрезать лишнее, или на эти поля повесить CHECK? Особенно с учётом того, что, согласно документации https://postgrespro.ru/docs/postgresql/10/plpgsql-control-structures Наличие секции EXCEPTION значительно увеличивает накладные расходы на вход/выход из блока. Поэтому не используйте EXCEPTION без надобности.

Pavel
02.04.2018
05:00:59
как дропнуть столбец в определнной таблице?

Eugeny
02.04.2018
05:02:56
как дропнуть столбец в определнной таблице?
alter table tablename drop column columnname если есть констрейны, то перед этим alter table tablename alter column columnname drop contstrain

Google
Mike Chuguniy
02.04.2018
05:06:03
По скорости абсолютно по барабану, ты не там скорость ищешь...
Я везде скорость ищу. Что поделать, трудное детство, деревянные игрушки, прибитые к потолку и снимаемые только на новый год... :)

Ilia
02.04.2018
05:06:47
Зря

Denis
02.04.2018
05:06:53
По скорости абсолютно по барабану, ты не там скорость ищешь...
Вообще не соглашусь, если проверка на plpgsql, то на каждую строку будет запускаться дополнительная хранимка. А это добавит лишних мс. Вот если бы она была на си, тогда да

По мне правильнее alter столбец в varchar(10) как сказал Дорофей или в хранимке (если только через неё работа с таблицей)

Denis
02.04.2018
05:09:44
Она на С
Ну если там просто length, то да, ты прав

Mike Chuguniy
02.04.2018
05:16:39
ОК, понял, спасибо. Я почему задал вопрос: как-то в памяти отложилось, что varchar(n) - это мягкое ограничение. При необходимости есть возможность выйти за пределы. Глянул доку - таки нет, я с чем-то спутал. Что-то неправильно в голове отложилось. Шарики за ролики заехали. Однако.

Второй вопрос: регэкспы. Т.е. в хранимке проверять корректность переданных данных (внешняя проверка, как меня уверяют, также присутствует) с помощью регулярных выражений. Как такое безобразие на производительность влияет? А то опять же в голове отложилось, что проверка с помощью регэкспов - ну ни разу не быстрая процедура.

Mike Chuguniy
02.04.2018
05:59:41
Использование интерпретируемого plpgsql тоже не фонтан
У меня после некоторых экспериментов и объяснений Вани Фролкова существует некоторые сомнения в истинности твоего утверждения.

Mike Chuguniy
02.04.2018
06:01:55
Тех экспериментов нет и неизвестно. Тут более другие и насущные.

Mike Chuguniy
02.04.2018
06:19:20
А какая нагрузка вообще?
1. Не могу сказать по причинам, например, разным: крАвавый Ынтрепрайз - такой Ынтерпрайз, и такой крАвавый. 2. Растёт.

Google
Антон \ (•◡•) / 1c8SysAdm
02.04.2018
06:43:52
Обноволялось виндовс. "Слишком долго" перезагрузили. Посгресс не стартовал.



Я полагал что есть незакрытый транзакционный лог



После этого делаю реиндекс



Как его дальше починить?

Или искать бэкапы?

Mike Chuguniy
02.04.2018
06:51:45
Почему вы пг 9.6. пытаетесь подсунуть каталог от 9.1 для начала?

Судя по ошибке - таки да, искать бекапы. А вообще в целях самообразования неплохо посмотреть select xmin,xmax,* from <проблемная таблица> where <столбцы индекса> = <проблемное значение>

Антон \ (•◡•) / 1c8SysAdm
02.04.2018
06:59:37
Почему вы пг 9.6. пытаетесь подсунуть каталог от 9.1 для начала?
Я просто со старых статей случайно скопировал.

Пробую найти эту таблицу в пгадмин2.1

Mike Chuguniy
02.04.2018
07:21:47
И снова я. На этот раз со свеженьким, относительно, из сообщетсва: http://thebuild.com/blog/2018/03/30/change-this-wal_compression/ Кто-нибудь на отказоустойчивость уже пробовал? Как оно накатывается? Или снова блудом и развратом самому развлекаться?

Alexey
02.04.2018
08:35:17
Поясните, пожалуйста, в чём смысл обсуждения про fsync выше. Из мана по fsync понял, что это способ синхонизации памяти с диском. В postgres fsync применяется где-то?

Let Eat
02.04.2018
08:54:37
Vladimir
02.04.2018
08:56:24
Ребят, как лучше всего реализовать поиск с опечатками? Типа при поиске 'Масква' найти 'Москва'

Alexey
02.04.2018
08:58:35
@alexey_kopytov Yaroslav спасибо. Да, всё логично вроде.

А на прямую нельзя разве записать без этих буферов?

Google
Vadim
02.04.2018
09:05:37
Ребят, как лучше всего реализовать поиск с опечатками? Типа при поиске 'Масква' найти 'Москва'
Еще можно сюда посмотреть (F.32.5. Интеграция с текстовым поиском) https://postgrespro.ru/docs/postgresql/10/pgtrgm

Stanislav
02.04.2018
10:56:35
Господа, подскажите пожалуйста, можно ли эту конструкцию заменить на чтото более пристойное? SELECT name FROM artifacts WHERE release_id = (SELECT id FROM releases WHERE hash LIKE '%' || $1 || '%' OR ref LIKE '%' || $1 || '%' AND project_id IN (SELECT id FROM projects WHERE name LIKE '%' || $2 || '%') limit 1) AND stage_id = (SELECT id FROM stages WHERE name LIKE '%' || $3 || '%' limit 1);

Stanislav
02.04.2018
11:00:38
CTE повышет пристойность неплохо
Спасибо, убежал читать.

Admin
ERROR: S client not available

Yaroslav
02.04.2018
11:12:06
Господа, подскажите пожалуйста, можно ли эту конструкцию заменить на чтото более пристойное? SELECT name FROM artifacts WHERE release_id = (SELECT id FROM releases WHERE hash LIKE '%' || $1 || '%' OR ref LIKE '%' || $1 || '%' AND project_id IN (SELECT id FROM projects WHERE name LIKE '%' || $2 || '%') limit 1) AND stage_id = (SELECT id FROM stages WHERE name LIKE '%' || $3 || '%' limit 1);
Замените на детерминированный запрос, первым делом: (SELECT id FROM stages WHERE name LIKE '%' || $3 || '%' limit 1); Ну или уберите отсюда LIMIT, если он на самом деле не нужен. А так, JOIN-ы будут выглядеть получше, чем IN-ы, мне кажется.

Stanislav
02.04.2018
11:12:40
limit 1 в данном случае просто небольшая гарантия, т.к. всегда должно возвращаться только 1 значение

там конечно есть Unique, но всеже.

Yaroslav
02.04.2018
11:13:45
limit 1 в данном случае просто небольшая гарантия, т.к. всегда должно возвращаться только 1 значение
А если вернётся не одно, то результат будет случаен, т.е. вы просто ошибку прячете таким образом, нет?

Yaroslav
02.04.2018
11:15:58
там конечно есть Unique, но всеже.
А как Unique тут поможет, кстати? Например, name = foo, foobar. При LIKE '%foo%' будут выбраны оба.

Stanislav
02.04.2018
11:17:35
Тоже вернр

Вася
02.04.2018
12:03:04
Комрады, был ли у кого опыт с геораспределением бд?

Вася
02.04.2018
12:15:42
А что?
Да, вот ищу правильные варианты реализации

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

а вот как быть с дб встал вопрос

Google
Игорь
02.04.2018
12:24:32
динамическая маршрутизация

Вася
02.04.2018
12:44:56
динамическая маршрутизация
А с инсертами как поступать, делалать master-master?\

Alex
02.04.2018
12:51:17
А с инсертами как поступать, делалать master-master?\
В сторонке переносить если надо чтобы другие регионы видели данные других. Или вообще по fdw гулять если такие обращения единичные

Lulz
02.04.2018
13:00:58
Привет. у меня нубский вопрос: возможно ли переустановить postgresql на сервере без потери данных? у меня есть тейблспейс для данных. бэкап не могу сделать ибо не работают инструменты после починки жд(видимо потерлись файлы для работы постгри)

Alexandr
02.04.2018
13:14:44
подскажите, в 10 postgres есть merge into?

Alexandr
02.04.2018
13:15:59
Нет.
обещали же еще в 9 сделать))

Yaroslav
02.04.2018
13:16:20
Есть INSERT INTO ... ON CONFLICT. Может, подойдёт?

Artem
02.04.2018
13:17:24
Т. Е просто тейблспейс скопировать и все?)
не просто, все файлы 9,х/data нужно, в т.ч. и сам тейблспейс, если он в другом месте. условно говоря вы слепок файлов делаете вручную

Alexandr
02.04.2018
13:18:19
Artem
02.04.2018
13:18:21
но по идее постгрес ничего побить не должен

Игорь
02.04.2018
13:21:15
А с инсертами как поступать, делалать master-master?\
Я не понял ваш вопрос и неправильно дал ответ. Вам надо к архитектору обратиться лучше. Но, как бы, мать природу не обманишь

Lulz
02.04.2018
13:34:11
Gennadiy
02.04.2018
13:38:50
Да
ну вот собственно это и есть кластер постгреса, его скопировать на новую машину, или куда вы там хотели

а можно из исходников поставить постгрес, а потом через initdb указать путь до кластера

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