
Dmitry
04.09.2017
08:38:36
видимо что-то наложилось вместе с тем что место кончилось :)

Николай
04.09.2017
08:53:30
Привет, подскажите по кешу в потсгрес
Первый раз запрос выполняется очень долго https://dumpz.org/2698883/
Затем быстро

Google

Николай
04.09.2017
08:54:25
С этим можно как-то бороться?

Maksim
04.09.2017
08:57:13
Затем быстро
план при втором и последующем выполнении запроса можно?

Николай
04.09.2017
09:01:56
.

Maksim
04.09.2017
09:04:58
разогревайте буффер-кэш - расширение pg_prewarm

Darafei
04.09.2017
09:05:13
explain (analyze, verbose, buffers) покажет, сколько буферов прочитано из кеша, а сколько с диска

Николай
04.09.2017
09:05:52

Darafei
04.09.2017
09:06:21
ну, можно, например, добавить колонок в индекс и сделать из index scan - index only scan

Dmitry
04.09.2017
09:07:06
вам как бы намекают, что чуда нет и у вас запрос в основном занимается чтением с диска. второй раз данные уже зачитанны в буффера и от туда они могут вытеснены другими запросами

Darafei
04.09.2017
09:10:03
distinct в запросе смущает

Николай
04.09.2017
09:11:27
Но смысл для нужного запроса тот же
У меня есть boolean nul поле

Google

Maksim
04.09.2017
09:12:05

Николай
04.09.2017
09:12:45
И мне нужно найти в таблице если для данной колонки True значения и есть ли False

Darafei
04.09.2017
09:13:34
так а заселектать два exists из таблицы?

Николай
04.09.2017
09:13:56
Кстати, exists сейчас попробую
Что-то я пропустил этот момент
Но на данный момент у меня фреймворк выполняет такой вот запрос
https://dumpz.org/2698889/
Для True
И результаты такие же для distinct
В таблице 30 миллинов записей
Сейчас попробую exists
Тоже самое

Darafei
04.09.2017
09:21:36
ты даже не показал explain (analyze, verbose, buffers)

Ilya
04.09.2017
09:22:07
SELECT
(1) AS "a"
FROM
"storagepricingapp_storageunit"
INNER JOIN
"storagepricingapp_storagelocation"
ON "storagepricingapp_storageunit"."facility_id" = "storagepricingapp_storagelocation"."id"
AND "storagepricingapp_storagelocation"."crawlnum" = "storagepricingapp_storageunit"."facilitycrawlnum"
AND "storagepricingapp_storagelocation"."is_active" = true
AND "storagepricingapp_storageunit"."secureunit" = true
LIMIT 1
и експлайн покаж

Igor
04.09.2017
09:25:06
опять Паша выиграл кнопку

Pavel
04.09.2017
09:25:18
Так, похоже, при добавлении нужно будет вопрос какой-то задавать. При молчании сразу в бан

Darafei
04.09.2017
09:25:41

Igor
04.09.2017
09:25:47
?

Pavel
04.09.2017
09:26:14

Google

Darafei
04.09.2017
09:26:16

Anton [Mgn, az09@osm]
04.09.2017
09:27:54

Pavel
04.09.2017
09:31:30
ИРКа постгресовая вообще не работает...

Николай
04.09.2017
09:32:14

Pavel
04.09.2017
09:32:46
Vitality, привет. Ты бот? ?

Vitality
04.09.2017
09:33:03
нет)

Pavel
04.09.2017
09:33:10
Отлично ? Работает схема

Vitality
04.09.2017
09:33:12
Привет всем)

Dmitry
04.09.2017
10:10:50
Коллеги, правильна ли последовательность действий для оключения репликации -- измения параметра max_wal_senders на 0 значение, после закоментировать пользователя в hba_conf и запуска pg_reload_conf()?

Dmitry
04.09.2017
10:15:21
Это если вы хотите запретить репликацию с данного сервера. А вообще репликация инициируется с реплики. Если реплика перестает тянуть стрим - репликация останавливается.

Darafei
04.09.2017
10:39:12
а кто ещё хочет DataGrip в адекватной запаковке для убунт и дебианов?
айда апвотить: https://youtrack.jetbrains.com/issue/IDEA-22750

mb
04.09.2017
10:45:24
А DataGrip умеет сравнивать базы данных? Скажем после внесения изменений в базу данных нужно получить что-то типа ALTER … для применения изменений к исходной базе данных.

Anton [Mgn, az09@osm]
04.09.2017
10:48:06

mb
04.09.2017
10:51:32
У разработчиков RCS есть, тут скорее нужен инструмент для создания SQL-скриптов миграции.

Fike
04.09.2017
10:53:35

Kirill
04.09.2017
10:53:53

mb
04.09.2017
10:55:56
Спасибо!

Pavel
04.09.2017
11:12:41

Darafei
04.09.2017
11:13:13

Google

Pavel
04.09.2017
11:13:30
Ну да, точно

Айтуар
04.09.2017
11:16:35
не помогло (
ERROR: could not access status of transaction 68006
ПОДРОБНОСТИ: Could not read from file "pg_clog/0000" at offset 16384: Success.

Ildar
04.09.2017
12:07:31
можно накопировать хотя бы нулей из /dev/zero
а что храните в базе, если не секрет?

Maksim
04.09.2017
12:13:02

Айтуар
04.09.2017
12:13:21
WARNING: concurrent insert in progress within table "history_uint"
vacuumdb: очистить таблицу "history_uint" в базе "zabbix" не удалось: ERROR: row is too big: size 212951080, maximum size 8160

Vadim
04.09.2017
12:15:41
заббикс
это наверно не важны данные)), пересоздай базу и все

Айтуар
04.09.2017
12:19:38

Ildar
04.09.2017
12:22:20
заббикс
just for fun раз уж коммит лог все равно безнадежно утерян:
head -c 16777216 /dev/zero > /путь/к/clog/0000
(забивает сегмент clog-а нулями)

Айтуар
04.09.2017
12:25:44

Ildar
04.09.2017
12:25:45
хотя не, надо не нулями, а 0x01010101
#define TRANSACTION_STATUS_IN_PROGRESS 0x00
#define TRANSACTION_STATUS_COMMITTED 0x01
#define TRANSACTION_STATUS_ABORTED 0x02
#define TRANSACTION_STATUS_SUB_COMMITTED 0x03

Айтуар
04.09.2017
12:26:13

Ildar
04.09.2017
12:29:30
опять неправильно написал.. надо забивать байтами 0x55

ⰿⰰⰾⱏ
04.09.2017
12:30:31

Ildar
04.09.2017
12:33:16
недопонял, почему 0x5A? )

Айтуар
04.09.2017
12:33:45

Google

Айтуар
04.09.2017
12:34:31

Darafei
04.09.2017
12:40:07
@rabotko_galina привет! а расскажи о себе? :)

Ildar
04.09.2017
12:40:50
в clog просто хрянятся статусы последовательно для каждой транзакции, 2 бита на транзакцию. 0x01 - статус закоммиченной транзакции. 0b01010101 - один байт, в котором хранится статусы четырех транзакций, в хексе будет 0x55. Если создать файл 16 мегабайт (размер одного сегмента clog) и забить его 0x55, то по идее постгрес должен считать, что все транзакции закоммичены

Artem
04.09.2017
12:41:48
Да, всё своё фото сразу публикуют
Это правило группы
:)

Ildar
04.09.2017
12:50:45

Айтуар
04.09.2017
12:56:48

Ildar
04.09.2017
13:17:04

Айтуар
04.09.2017
13:51:06

Anton [Mgn, az09@osm]
05.09.2017
02:23:16
Привет! Ты не бот?)

Alexandr
05.09.2017
03:28:08
да, только пришлось констрейты выключить.
Добрый день, а не скажите, как вы констрейнты (если вы про внешние ключи, конечно) отключали? На сколько я знаю, в postgres нет отключения внешних ключей, там их можно только удалить и потом создать заново. Некоторое время назад делал утилиту для синхронизации схем MSSQL -> PostgreSQL, вот там было сложно именно с этим. Если у MSSQL можно было вырубить их командой, то для PostgreSQL пришлось делать запрос, который выводил DDL для манипулирования внешними ключами, потом убирать их (удалять), а по завершению - создавать.