@pgsql

Страница 223 из 1062
Alex
22.01.2017
10:19:42
И там же есть статья с обратным названием :)

Без понимания крутить ручки тоже так себе затея

Art
23.01.2017
10:05:07
^ в продолжение про shared_buffers. Это конфиг у aws rds.

Danila
23.01.2017
10:37:49
алоха

Google
Danila
23.01.2017
10:37:56
как обновить pg_dump?

pg_dump: server version: 9.4.10; pg_dump version: 9.2.18 pg_dump: aborting because of server version mismatch

центос 6, есличо

Игорь
23.01.2017
10:41:47
/usr/pgsql-9.4/bin/pg_dump

А потом делаешь yum provides /usr/bin/pg_dump и идешь учиться

Evgeniy
23.01.2017
14:05:14
наконец-то база данных новая вышла http://pelotondb.io/

Sergey
23.01.2017
14:13:20
Читаю про создателей. Понравилось "Andy Pavlo - Assistant Professor of Databaseology, Carnegie Mellon University"

Профессор базоданнологии

Stas
23.01.2017
14:20:53
https://twitter.com/andy_pavlo/status/798571674572460032

Pavlo забавный)

Ildar
23.01.2017
15:29:58
лекции у него тоже зачетные, рассказывает про тюремные татухи, правила выживания на улице и т.п.

Evgeniy
23.01.2017
15:34:47
а где вы их смотрите?

Google
Evgeniy
23.01.2017
15:34:50
заделитесь

Alexander
23.01.2017
15:42:34
Кстати, “;” не берёт снапшот в отличие от “SELECT 1;”.

Ildar
23.01.2017
15:48:57
а где вы их смотрите?
должно быть здесь, но у меня сейчас не открывается страница: http://15721.courses.cs.cmu.edu/spring2016/schedule.html

Stas
23.01.2017
15:49:44
https://www.youtube.com/watch?v=MyQzjba1beA

ща сайт CMU не работает от меня тоже, но оно на ютюбчике есть

Evgeniy
23.01.2017
16:11:07
заебок

Igor
23.01.2017
17:22:42
наконец-то база данных новая вышла http://pelotondb.io/
даже не скрывают, что велосипед

Darafei
24.01.2017
14:01:37
а кто-нибудь пишет на go? как вы обходите https://github.com/jmoiron/sqlx/issues/274 ?

Kirill
24.01.2017
14:06:52
там уже был подобный issue, но про typecast через ::, наткнулись с json_populate_record и named query в sqlx

вообще есть желание переписать sqlx чуть более чем полностью из-за его некоторых "болячек"

Ilya
24.01.2017
14:59:28
Привет сообщество. Возникла проблема с тем что postgres съедает всю память сервера, а потом перезапускает себя. Работа с постгресом ведется средствами asyncpg выделяется пул из 3 коннектов выполняю "жирные" инсерты по 11к (<20 раз) строк и потом на 10 минут идет перерыв. Все эти 10 минут память не освобождается, и на второй такой итерации память заканчивается. В чем может быть проблема и как это всё отдебажить??

Alex
24.01.2017
15:00:40
vm.overcommit_memory чему равен ?

Ilya
24.01.2017
15:03:43
транзакцию закрываете?
Asyncpg вроде закрывает.

Alex
24.01.2017
15:05:56
попробуйте выставить в 2

и checkpoint у вас настроен ?

Равно как и bgwriter ?

Ilya
24.01.2017
15:08:06
Равно как и bgwriter ?
туда не лезли

Stas
24.01.2017
15:08:33
и checkpoint у вас настроен ?
это не должно приводить к увеличению оперативки постгреса. Данные ограничены shared_buffers, потом в диск уйдут. Навскиду пухнуть может только backend если транзакция не закрылась

Google
Stas
24.01.2017
15:12:24
вроде aiopg ставит по умолчанию autocommit=True, так что странно

Victor
24.01.2017
18:21:18
Может посмотреть, что за процесс конкретный пухнет, что он делает в этот момент и до этого?

Dmitry
24.01.2017
19:06:15
gdb.

что до этого - только логи.

gdb.
или через такое расширение: https://github.com/postgrespro/pg_query_state

Anton
25.01.2017
08:37:29
коллеги, подскажите это в лимитах дело ? или ограничение постгреса: на запросе поймал ERROR: invalid memory alloc request size 18446744073709551613

https://www.postgresql.org/message-id/54886FC9.2030000%40gmail.com нагуглил что у кого-то была такая же ошибка, и request size совпадает, что навело на мысль об органичении PG

Sergey
25.01.2017
08:47:01
А где у вас 18446 Петабайт памяти есть?

ⰿⰰⰾⱏ
25.01.2017
08:50:25
Anton
25.01.2017
08:52:57
=) эт нея это json

bush=# create table users_json2 as b…. row_to_json(usr) as data_json ERROR: invalid memory alloc request size 18446744073709551613 Time: 3192746.245 ms

ros
25.01.2017
14:41:37
результаты запросов вычитываются из сокета?

Anton
25.01.2017
14:45:07
а версия какая ?

Alex
25.01.2017
14:45:54
а poolер какой нить используете ?

пулер ?

Ilya
25.01.2017
14:46:40
Да asyncpg создает пул из трех коннектов.

ros
25.01.2017
15:10:51
Как это определить?
если сами не писали клиента отбрасываем этот вариант врядли в asyncpg такое проморгали

Google
ros
25.01.2017
15:11:37
если закрывать соединения память освобождается?

можно сделать тестовое приложение с таким же поведением, заюзав psycopg2 чтоб убедиться что дело в постгре, а не в кривом клиенте

ros
25.01.2017
15:39:10
при старте транзакции все запросы в ней должны проходить через одно соединение, т.е. соединение из пула должно резервироваться только под эту транзакцию что творит asyncpg я понятия не имею

Ilya
25.01.2017
15:40:45
при старте транзакции все запросы в ней должны проходить через одно соединение, т.е. соединение из пула должно резервироваться только под эту транзакцию что творит asyncpg я понятия не имею
Асинкпг устанавливает 3 коннекта и использует их по перменно. Коннекты под каждую транзакцию. Судя по логам: происходят транзакции с инсертами затем 10 минут тишины от этих коннектов.

ros
25.01.2017
15:41:31
так вы в транцакции пишите или нет?

Ilya
25.01.2017
15:41:49
Да 1 инсерт -1 транзакция

ros
25.01.2017
15:42:02
ужас

Ilya
25.01.2017
15:42:22
1 инсерт — 11к values

Kirill
25.01.2017
15:43:31
простите, там запрос insert into table values(), () ... 11k ?

т.е. не prepare 1 insert и 11к execute(values) ?

Ilya
25.01.2017
15:44:54
Да так.

ros
25.01.2017
15:45:24
ok если включить полное логирование всех запросов постгря пишет в лог помимо всего прочего ещё и соединение, которое используется begin; insert ... ; commit; все должны залогинится с одним идентификатором соединения

Kirill
25.01.2017
15:46:42
Да так.
"так" - это один большой-большой текстовый запрос ?

ros
25.01.2017
15:47:01
можно попробовать пул, состоящий из одного соединения как контрольный

Ilya
25.01.2017
15:47:23
Один большой текстовый запрос на 10мб.

Kirill
25.01.2017
15:49:02
сделайте: tx = begin() stmt = prepare(insert into bla-bla) for i in 1...11k stmt.execute () tx.commit

Ilya
25.01.2017
15:49:35
сделайте: tx = begin() stmt = prepare(insert into bla-bla) for i in 1...11k stmt.execute () tx.commit
Хорошо, но почему предыдущий вариант может сожрать 7ГБ оперативки?

Kirill
25.01.2017
15:51:41
ну, он разбирает ваш запрос на 11к данных, это чуть сложнее чем пару строк попарсить, попробуйте через подготовленные запросы, там постгрес 1 раз разберет запрос и построит план, а дальше просто данные зальет, и безопаснее и быстрее

Google
ros
25.01.2017
15:56:30
так оно в любом случае не должно память хавать гектарами что в одном инсерте что в кучке через подготовленное выражение

в семплах либо так async with connection.transaction(): await connection.execute("INSERT INTO mytable VALUES(1, 2, 3)") либо этак tr = connection.transaction() await tr.start() try: ... except: await tr.rollback() raise finally: await tr.commit() какой вариант у вас?

Kirill
25.01.2017
15:59:48
почему, если в посгрес заливать 10 мегабайтные запросы он вполне себе ест память, почему бы и нет, его ведь нужно разобрать перед тем как выполнить

ros
25.01.2017
16:02:28
ну выполнить и освободить память должен, или по крайней мере не отъедать больше чем уже выделил, а не постоянно выделять новую

Evgeniy
25.01.2017
16:29:59
Нет бы как в мускуле сделать макс алловд пукет

avenger
25.01.2017
21:57:29
Всем привет

Ребятушки, начал изучать postgresql и столкнулся с проблемой

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