@pgsql

Страница 479 из 1062
Vadim
14.09.2017
15:52:56
микро они наверно еще меньше чем просто сервисы

Mike Chuguniy
14.09.2017
15:53:25
я сторонник держать по отдельной бд на приложение, чтобы нельзя было повалив одну бд повалить все проекты
Когда рабочие данные весят меньше служебных, такой подход, по моему мнению, несколько расточительный. Хотя да, я видел, когда проблемы на одном проекте клали все остальные, чьи базы были на том кластере.

Аггей
14.09.2017
15:53:39
микро они наверно еще меньше чем просто сервисы
Думаю там что-то про состояния должно быть )

Fike
14.09.2017
15:53:49
ну я специально слово "сторонник" использовал

Google
Vadim
14.09.2017
15:54:38
для приложений поддерживающих кроме постгрес еще оракл и мс скл, такой подход не подходит))

Massimo
14.09.2017
15:57:29
Скифча

Pavel
14.09.2017
17:15:03
при каждом запросе
30 секунд похоже на стандартное время жизни пхп скрипта

Так как таймаута нету он просто ждет пока подключится но не дожидается и умирает

Alex
15.09.2017
12:14:01
Друзья постгрес не хочет стирать старые wall логи, в какую сторону копать ? Конфиг https://pastebin.com/c5NgndA6

в логах все пусто

также на базе никто ничего не делает а логи все пишутся , за день приблизително 700-800 мб

Timur
15.09.2017
12:15:23
pg_archivecleanup

Alex
15.09.2017
12:17:40
archive_cleanup_command = 'pg_archivecleanup -d /mnt/standby/archive %r 2»cleanup.log' записать его в конфиг ?

Timur
15.09.2017
12:18:21
Я с телефона, синтаксис и корректность оценить не могу, но вроде да :)

Alex
15.09.2017
12:18:45
по идее ведь посгрес стирает автоматически логи после чекпоинта ?

Алексей
15.09.2017
12:19:32
не сразу

Google
Alex
15.09.2017
12:20:08
не сразу
ну у меня есть логи 10 сентября

8-9 стер руками (тестовый сервер)

Dmitry
15.09.2017
12:21:31
Привет, пишу расширение. Есть какой-нибудь изкоробочный способ проверить что версия 1.0 с со всеми накаченными апдейтами даёт то же самое что послндняя версия?

Алексей
15.09.2017
12:22:20
ну у меня есть логи 10 сентября
Если я правильно понимаю, он хранит wal_keep_segments последних логов. Но это о логах в $PGDATA/pg_xlog

Dmitry
15.09.2017
12:24:45
или нужно вручную сделать create extension version '1.0'; alter extension update; и сравнить с тем что даст просто create extension?

тогда ещё вопрос как сдампить только то что относится к экстеншону

Mike Chuguniy
15.09.2017
14:01:38
тогда ещё вопрос как сдампить только то что относится к экстеншону
никак. Из всего экстеншна в дамп попадает только команда CREATE EXTENSION <ext_name>;

Dmitry
15.09.2017
14:02:29
пока сделал через жопу с лазаньем в pg_catalog

Mike Chuguniy
15.09.2017
14:02:46
Не стоит так делать.

Dmitry
15.09.2017
14:03:10
можно было ещё сделать alter extension drop (тогда оно выпадет из экстеншона и попадёт в дамп), но он не умеет drop всего сразу

Mike Chuguniy
15.09.2017
14:05:53
У экстеншна, в большинстве случаев, есть библиотеки, которые лежат в $libdir, как вы содержимое этих библиотек сдампите?

А, извините, вылетело из головы, что своё расширение

Но в любом случае необходимо понимать, что сдампить потроха расширения не получится.

Massimo
15.09.2017
14:50:14
http://m.cnews.ru/news/top/2017-09-14_rossiyane_delayut_rasshirenie_dlya_obedineniya_dannyh

Ilya
15.09.2017
14:51:01
ойц

Dmitry
15.09.2017
17:06:05
Но в любом случае необходимо понимать, что сдампить потроха расширения не получится.
Мне это не сильно нужно. Просто убедиться что ничего не забыто в скрипте миграции

А ещё вопрос: как лучше хранить константы (расширение обёртывает С функцию принимающую набор флагов - нужно их тоже во что-то обернуть)

Что-то не нашел. Принимать переменное чисто аргументов - строк по нахванию флагов?

loki
16.09.2017
00:30:27
Сап есть релика в режиме хот стенбая, переодически ругается на "required checkpoints occurs to frequently" реплика сильно слабее мастера wal_buffers = 16MB checkpoints_timeout = 5min max_wal_size=4GB

min_wal_size = 1GB, вопрос если реплика только проигрывает wal, какие к лешему частые чекпоинты. =(

Google
Dmitry
16.09.2017
10:23:57
А какой правильный способ посчитать при агрегации равенство поля конкретному значению? Я по незнанию костылил sum(case when foo=123 then 1 else 0 end), count(nullif(foo=123, false))

Теперь понял что можно sum((foo=123)::integer)

Можно ещё прямее?

Во, есть еще count(a=123 or null)

Darafei
16.09.2017
10:39:02
count(*) filter (where a=123)

Dmitry
16.09.2017
10:51:29
О, точно, это тоже где-то видел. Оно ещё и работает быстрее всего перечисленного на 20%

А известно почему? Как я понял в explain этого не видно

Darafei
16.09.2017
10:55:32
потому что оно даже не заходит в count, когда не надо считать

Dmitry
16.09.2017
10:57:15
Казалось бы count вообще не будет заметен на фоне скорости выборки

Darafei
16.09.2017
10:58:05
а планы как? :)

Dmitry
16.09.2017
10:58:15
1 в 1

??Suffer
16.09.2017
12:09:10
Есть таблица клиентов и таблица услуг/продаж которые отличаются только флагом. Я могу как-то получить всех пользователей у которых разница между последней услугой и продажей меньше одного месяца?

Darafei
16.09.2017
12:11:07
SQL в постгресе тьринг-полон, так что как-то точно можешь

??Suffer
16.09.2017
12:11:50
Мне надо еще это как-то в Django ORM запихнуть ;_;

Igor
16.09.2017
12:12:06
“надо” или "хочется"?

??Suffer
16.09.2017
12:12:24
надо

Только надо понять как это сделать в SQL

Darafei
16.09.2017
12:12:53
пока не видно, чем это не join двух запросов с max(ts) с группировкой по пользователю, и потом where по этому join с разницей между этими двумя полями

Darafei
16.09.2017
12:14:04
там про последнюю

Google
Igor
16.09.2017
12:14:11
ой, пардон

Igor
16.09.2017
12:17:08
SELECT user_id, max(timestamp) FROM services GROUP BY user_id и SELECT user_id, max(timestamp) FROM orders GROUP BY user_id что-то типа того, видимо

??Suffer
16.09.2017
12:44:04
Я сделал это

SELECT sales.vehicle_id AS id FROM (SELECT id, max(last_known_date) AS last_known_date, vehicle_id FROM forensics_forensic WHERE vendor_id=1 GROUP BY id, vehicle_id) services INNER JOIN (SELECT id, max(last_known_date) AS last_known_date, vehicle_id FROM forensics_forensic WHERE vendor_id=2 GROUP BY id, vehicle_id) AS sales ON sales.vehicle_id = services.vehicle_id AND sales.last_known_date BETWEEN services.last_known_date - INTERVAL '1 month' AND services.last_known_date + INTERVAL '1 month';

Darafei
16.09.2017
12:52:11
три `, как в markdown

Massimo
16.09.2017
13:01:41
у меня не получается
С одной и с другой стороны

Abbos
16.09.2017
13:02:16
SELECT sales.vehicle_id AS id FROM (SELECT id, max(last_known_date) AS last_known_date,

о пасибо)

Dmitriy
16.09.2017
13:39:27
Коллеги. Есть выборка всех полей из таблицы по условиям. Первичного ключа нет. Как дропнуть все записи из этой же таблицы которые выбраны ранее селектом ?

внутренние id может полей заюзать какие-нибудь?

Sergey
16.09.2017
13:48:37
вместо select <a> from <b> where <c> написать delete from <b> where <c>

или DELETE FROM <b> WHERE <c> RETURNING <a>

Dmitriy
16.09.2017
21:44:45
Коллеги, есть целочисленное поле. Делаю выборку минимального значения по условию. Если запрос ничего не возворащает, как сделать так, что бы возвращался 0?

NULLIF чот не работат

Vladimir
16.09.2017
22:01:41
COALESCE

https://postgrespro.ru/docs/postgrespro/9.5/functions-conditional

Google
Igor
17.09.2017
05:35:08
Доброе всем утро

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