
Pavel
20.04.2018
07:48:31

Maxim
20.04.2018
07:48:37
Это вошло в 3.0
Надо снести с докер хаба мой образ

Гаврилов
20.04.2018
07:49:28
в докере?

Google

Гаврилов
20.04.2018
07:49:31
а зачем такие сложности)

Maxim
20.04.2018
07:50:31
Я не знаю как оно запускается без докера, а за докер могу отвечать. И там точно не должно жрать

Гаврилов
20.04.2018
07:51:04
я виндовый клиент использую

Maxim
20.04.2018
07:52:12
Оу, винда...

Artem
20.04.2018
08:33:24
До чего дошли - вместо десктопного приложения запускать вебсервер с приложением в докере. Жесть какая...куда катиться этот мир

Evgeniy
20.04.2018
08:35:16
а вы смеялись над веб2.0

Darafei
20.04.2018
08:36:28
Это всегда было проще, рисовать гуй текстом на stdout
Arachne умудрялся это и в досе делать

Mike Chuguniy
20.04.2018
08:53:41
Я тут микрофак накидал: https://ru-postgres.livejournal.com/d1.html
внятные и конкретные добавления/претензии/предложения категорически приветствуются.

Darafei
20.04.2018
08:54:10
The page was not found

Mike Chuguniy
20.04.2018
08:54:12

Darafei
20.04.2018
08:54:59

Mike Chuguniy
20.04.2018
08:55:54
The page was not found
Разрабам ЖЖ надо чего-нибудь куда-нибудь воткнуть: https://ru-postgres.livejournal.com/64256.html

Google

Andrey
20.04.2018
09:11:41
а то это следующий же вопрос

Lucky
20.04.2018
09:33:51
Быстрый вопрос: я правильно понимаю, что при on conflict () do, чтобы перебросить значение между колонками таблиц можно просто указать алиас таблицы или есть какая-то конструкция?
INSERT INTO test.tts.newtable as n(
id,
new_val
)
select
_id,
_val
on conflict (id) DO
UPDATE SET (old_val, new_val) = (n.new_val, _val)
;

Mike Chuguniy
20.04.2018
09:49:48

Айтуар
20.04.2018
12:13:44
Привет.
Кто пробовал Stolon?
Он на 2 ноды умеет работать как Patroni?

Mike Chuguniy
20.04.2018
14:05:23
Мал-мала подрехтовал FAQ: сделал списком и добавил вопрос про конфигуратор.

HipJoy
20.04.2018
16:07:18
всем доброго времени суток
psql -c "copy table to stdout" "postgresql://.../db1" | psql -c "copy table from stdin" "postgresql://.../db2"
хотеть копировать много много данных из большая таблица между базами
кто подскажет чурке, могут ли быть проблемы если таблица НУ ОЧЕНЬ БОЛЬШАЯ
куда данные складывается из stdin перед тем как быть вставленными в таблицу? может ли что неть лопнуть от переполнения?

Alexandr
20.04.2018
16:17:24
а pg_dump не хочется? Там есть удобный формат и можно выгрузить указанную таблицу.

HipJoy
20.04.2018
16:53:28
нужно выгружать кусок по условию
то бишь copy (select * from table where ...)

Nikita
20.04.2018
18:18:11
Вот тут про пайпы
https://habrahabr.ru/post/195152/
Худшее, что может случиться - процесс прервётся на полпути и все данные откатятся
Лучше поделить их на 10-100 кусков и запускать параллельно

Andy
20.04.2018
18:19:36
Господа, а где можно почитать про тюнинг постгреса и ядра под разные профили нагрузки и количество ресурсов?
В интернете куча всего, но прям вот чтобы в одном месте и обстоятельно - нету

Nikita
20.04.2018
18:24:49
https://wiki.postgresql.org/wiki/Performance_Optimization

Evgeniy
20.04.2018
18:29:49
а кто что тюнит в ядре для постгреса?
вот Миша каждый раз говорит бэкгранд байтс в размер кеша контроллера ставить, а я не понимаю чем ему новые параметры флаша не угодили в постгресе
что там ещё вы тюните? shed migration cost? а как меряете?
ну thp небось выключаете, да
а ещё

Andy
20.04.2018
18:34:55
У нас веб приложение и много данных, гигов 400 на диске, где-то тупо по ключа,где-то сортировки и джойнв
Вот и ищу

Dmitry
20.04.2018
18:35:04
Я разобрался с этим. В общем-то я дурак, надо было всего лишь analyze сделать после bulk insert, как и написано в доке.

Google

Andy
20.04.2018
18:35:04
Спасибо

Dmitry
20.04.2018
18:37:41
а напомните пожалуйста, в составном ключе из двух полей когда не важен порядок, первым же лучше быть более селективное (т.е. у которого больше диапазон значений) ставить?

Nikita
20.04.2018
18:38:39
да

Dmitry
20.04.2018
18:39:13
спасибо

S
20.04.2018
18:41:23

Evgeniy
20.04.2018
18:47:18
дуров, откати

Nikita
20.04.2018
18:48:52
т.е. COPY нетранзакционный?
Из оф. доки
https://www.postgresql.org/docs/current/static/sql-copy.html
COPY stops operation at the first error. This should not lead to problems in the event of a COPY TO, but the target table will already have received earlier rows in a COPY FROM. These rows will not be visible or accessible, but they still occupy disk space. This might amount to a considerable amount of wasted disk space if the failure happened well into a large copy operation. You might wish to invoke VACUUM to recover the wasted space.

Dmitry
20.04.2018
18:58:08
почему? то же самое что с любыми другими обновлениями - часть данных до ошибки попадёт на диск (потому что её же нужно где-то хранить), но никто их не увидит (потому что транзакция) и они вычистятся вакуумом

S
20.04.2018
19:16:59
copy транзакционный, а пайп — нет, psql1 | psql2 — psql2 не знает почему оборвался пайп и при падении psql1 copy в psql2 закоммитится
в psql2 закомитится часть данных, может даже часть строки
если по среди строки пайп оборвется и констрейнты в получателе разрешают null значения

Evgeniy
20.04.2018
19:22:40
судя по «может даже часть строки», пруфа не будет

S
20.04.2018
19:24:30
хм
$ seq 100 | pv -L 2 | psql
$ sleep 5; killall pv;
а на слово не веришь? :-)
если повезёт, получишь кусок числа
позапускай несколько раз

Evgeniy
20.04.2018
19:26:16
да что ты psql клиент тут показываешь

Google

Evgeniy
20.04.2018
19:26:27
ты базу покажи

S
20.04.2018
19:26:39
потому что я про клиента говорю
и про пайп в shell

Evgeniy
20.04.2018
19:26:57
кого это ебет, простите модераторы

S
20.04.2018
19:27:06
?
ты пьяный?

Evgeniy
20.04.2018
19:27:32

S
20.04.2018
19:27:38
и?

Evgeniy
20.04.2018
19:27:45
а тестируешь psql

Nikita
20.04.2018
19:27:50
не знает почему оборвался пайп
Если пайп оборвётся, бд разве не должна rollback сделать?

S
20.04.2018
19:28:16
ты же не в бд пишешь, а в psql

Evgeniy
20.04.2018
19:28:16

S
20.04.2018
19:28:46
разрыв psql2 — да, разрыв psql1 — нет

Nikita
20.04.2018
19:30:36
то есть, в худшем случае мы получим 1 кривую строку и она будет 100% в конце таблицы, т.е. её можно почистить и перегрузить, так?

Evgeniy
20.04.2018
19:31:02

Andy
20.04.2018
19:31:08

Nikita
20.04.2018
19:31:14
а если там констрейнты сработают, то все данные роллбэкнутся

S
20.04.2018
19:31:25
ну если psql1 упадёт при копировании последней строчки, то да

Google

Evgeniy
20.04.2018
19:31:44

S
20.04.2018
19:31:46
если в середине таблицы, то будет половина таблицы

Evgeniy
20.04.2018
19:32:01

Nikita
20.04.2018
19:32:09
я имел в виду, что кривой будет только 1 строка, а не потаблицы перефигачено

S
20.04.2018
19:32:12
иди проспись

Evgeniy
20.04.2018
19:32:48
то есть как разносить fud так это ок

Darafei
20.04.2018
19:32:49

S
20.04.2018
19:33:01

Darafei
20.04.2018
19:33:07
а что он на него делает, я не знаю

S
20.04.2018
19:33:28
комитит

Darafei
20.04.2018
19:33:41
можно запустить psql, начать copy, написать одну строчку руками и послать sigpipe

S
20.04.2018
19:33:43
он ничем от конца ввода не отличается

Darafei
20.04.2018
19:34:31
проверил, по sigpipe psql умирает
соответственно закоммитить ничего не может