@pgsql

Страница 235 из 1062
Антон
08.02.2017
21:53:47
никто даже не послал

Alexander
08.02.2017
21:53:52
и вообще

Pavel
08.02.2017
21:54:39
Я бы даже сказал, сначала ответили, а потом поворчали

Zhenia
08.02.2017
21:54:47
первый it чат, в котором нету хрыча, я думал таких нет

Google
Anna
08.02.2017
21:55:25
ну, не знаю.. я состою в procxx, unity3d.ru, говорим о разработке игр и куча других геймдев чатов

что за хрыч?

Я бы даже сказал, сначала ответили, а потом поворчали
но ворчали не те, кто отвечали, заметьте

Антон
08.02.2017
21:56:30
а сколько нужно человек чтобы ответить на вопрос о простейшем синтаксисе запроса? :)

Anna
08.02.2017
21:56:51
а еще в supaprocxx - там вообще очень нубские бывают вопросы и никто не беситься)

Zhenia
08.02.2017
21:57:37
что за хрыч?
«Erzent - это стиль жизни и образ мышления. Можно даже сказать, Erzent - это лицо современного ЛОРа.»

Антон
08.02.2017
21:57:40
это не серьезно

без IDE уже не получается написать select a from b

Zhenia
08.02.2017
21:58:41
я кстати не понял, почему id не автоинкремент

Anna
08.02.2017
21:58:41
ну скобку не заметить без иде помоему любой может

он сиквенс

Google
Anna
08.02.2017
21:59:08
так же в постгресе) я вообще сериал делала

Taras ?
08.02.2017
21:59:37
кстати названия таблиц и столбцов в кавычки берутся, как в мускуле так и в постгресе

Zhenia
08.02.2017
21:59:46
а, все, прочитал запрос наконец

Evgeniy
08.02.2017
21:59:48
Посмотрев запросы которые пишут в двх, очень понятно зачем нужны ide для sql

Evgeniy
08.02.2017
22:01:16
Вот! Аня шарит, а вы унижаете

Taras ?
08.02.2017
22:01:20
не обязательно же
ага) но иногда сохраняет время и нервы)

Anna
08.02.2017
22:02:04
Evgeniy
08.02.2017
22:02:18
Кому сохраняет, а кому из слоу логов удалять кавычку лишнюю

Taras ?
08.02.2017
22:02:30
Вот! Аня шарит, а вы унижаете
я? не-не, я тоже нуб и тоже только учусь ?

Evgeniy
08.02.2017
22:03:13
Только всем чятом не пишите мне реплай

Anna
08.02.2017
22:03:15
я очень редко работаю так много в терминале, чувствую порой нехватку этой красочной подстевки идешной

Ixtis
08.02.2017
22:24:41
Ах эти уютные русскоязычные комьюнити)

Fike
08.02.2017
23:35:51
сходи к девопсам
чуть не рассмеялся в голос

Taras ?
08.02.2017
23:38:01
это там где пол-чата в пидора играют? веселенький там тамада и конкурсы интересные ?

Alexey
08.02.2017
23:39:37
я к пхпшникам три раза совался. два раза попадал на обсуждение наркоты какой-то, чо где выхватить, и так далее, третий раз на вайп гомониграми.

вот это я понимаю — своя атмосфера. а ты говоришь — в пидора они там играют мужским коллективом.

Taras ?
08.02.2017
23:40:54
в чате по эликсиру тоже отличные обсуждалки ? и вроде без пидоров, отличнейший чат

Google
Антон
08.02.2017
23:47:00
слушайте, вот появился интересный вопрос, может кто сталкивался.

если в одной транзакции выполнить два апдейта на один и тот же row, будет ли оверхед в таблице, или лучше все-таки одна новая версия записана?

Evgeniy
08.02.2017
23:54:48
postgres=# create table test(a int); CREATE TABLE postgres=# insert into test values (1); INSERT 0 1 postgres=# begin ; BEGIN postgres=# select ctid, xmin, xmax, * from test; ctid | xmin | xmax | a -------+------+------+--- (0,1) | 1779 | 0 | 1 (1 row) postgres=# update test set a = 2; UPDATE 1 postgres=# select ctid, xmin, xmax, * from test; ctid | xmin | xmax | a -------+------+------+--- (0,2) | 1780 | 0 | 2 (1 row) postgres=# update test set a = 2; UPDATE 1 postgres=# select ctid, xmin, xmax, * from test; ctid | xmin | xmax | a -------+------+------+--- (0,3) | 1780 | 0 | 2 (1 row) postgres=# update test set a = 3; UPDATE 1 postgres=# select ctid, xmin, xmax, * from test; ctid | xmin | xmax | a -------+------+------+--- (0,4) | 1780 | 0 | 3 (1 row) postgres=# commit; COMMIT postgres=# select ctid, xmin, xmax, * from test; ctid | xmin | xmax | a -------+------+------+--- (0,4) | 1780 | 0 | 3 (1 row) postgres=# begin ; BEGIN postgres=# set transaction isolation level repeatable read ; SET postgres=# select ctid, xmin, xmax, * from test; ctid | xmin | xmax | a -------+------+------+--- (0,4) | 1780 | 0 | 3 (1 row) postgres=# update test set a = 3; UPDATE 1 postgres=# select ctid, xmin, xmax, * from test; ctid | xmin | xmax | a -------+------+------+--- (0,5) | 1781 | 0 | 3 (1 row) postgres=# select ctid, xmin, xmax, * from test; ctid | xmin | xmax | a -------+------+------+--- (0,5) | 1781 | 0 | 3 (1 row) postgres=# update test set a = 3; UPDATE 1 postgres=# select ctid, xmin, xmax, * from test; ctid | xmin | xmax | a -------+------+------+--- (0,6) | 1781 | 0 | 3 (1 row) postgres=# update test set a = 4; UPDATE 1 postgres=# select ctid, xmin, xmax, * from test; ctid | xmin | xmax | a -------+------+------+--- (0,7) | 1781 | 0 | 4 (1 row) postgres=# commit ; COMMIT postgres=# select ctid, xmin, xmax, * from test; ctid | xmin | xmax | a -------+------+------+--- (0,7) | 1781 | 0 | 4 (1 row)

достаточно?

Роман
09.02.2017
03:20:50
Касательно частников.
Частников это никак не касается ))))

Роман
09.02.2017
07:47:30
может книгу посоветуете?
есть еще хороший курс на courser'а по основам sql: https://lagunita.stanford.edu/courses/Engineering/db/2014_1/about

Denis
09.02.2017
08:07:44
Кто сталкивался с «Query provides a value for a dropped column at ordinal position»

https://github.com/postgrespro/pg_pathman/issues/74 баг оказался, короч

lemi
09.02.2017
08:33:54
в этом курсе еще в комплекте xml dtd чет еще там для кучи и курс довольно примитивный

Darafei
09.02.2017
08:35:06
а насоветуйте хорошее чтение про то, где и как постгрес что лочит на селектах и апдейтах? :)

Stas
09.02.2017
08:39:15
а насоветуйте хорошее чтение про то, где и как постгрес что лочит на селектах и апдейтах? :)
http://dataintensive.net/ — Клепман пишет книгу про базульки, там хорошее описание как MVCC в подробностях устроен вообще и в постгресе

Oleg
09.02.2017
08:51:12
Дарафей, тебе теория или практика нужна ?

Darafei
09.02.2017
08:53:22
у нас тут часто возникают вопросы вида "а тут оно залочит строку или таблицу? а вставка работать будет? а вот этот апдейт залочит?" - хочется что-нибудь, что быстро практически позволит их разрешать

так что практика

Oleg
09.02.2017
08:56:43
Почитай тут, например, https://www.compose.com/articles/common-misconceptions-about-locking-in-postgresql/

Wom
09.02.2017
09:27:40
ppl, есть способ ускорить CREATE INDEX при разворачивании базы из .sql бакапа?

Darafei
09.02.2017
09:29:40
Почитай тут, например, https://www.compose.com/articles/common-misconceptions-about-locking-in-postgresql/
хорошее чтиво, но оно больше пост-фактум - "мы увидели вот такие локи, и это страшно/не страшно"

Петр
09.02.2017
09:29:49
попробуйте увеличить майнтенанс_ворк_мем max_wal_size уменьшить уровень wal_level, отключить автовакуум

хорошее чтиво, но оно больше пост-фактум - "мы увидели вот такие локи, и это страшно/не страшно"
https://www.postgresql.org/docs/9.6/static/explicit-locking.html и вообще весь раздел https://www.postgresql.org/docs/9.6/static/mvcc.html это смотрели?

Darafei
09.02.2017
09:33:51
тут про явное вот есть вопрос - "update aaa set value = (select max(value) from aaa where ...) where id=X" - как оно будет себя вести в конкурентном выполнении как искать ответ на него, кроме как промоделировав?

Google
Denis
09.02.2017
09:36:14
может тут вопрос про уровни изоляции а не про блокировки

потому что такой запрос будет рэйсится однозначно кроме как в сериализуемой изоляции

да и там будет рейсится, только второй конкурентсный запрос будет транзакцию в integrity error приводить

select for update тоже не поможет, если я правильно понял

Darafei
09.02.2017
09:55:05
потому что такой запрос будет рэйсится однозначно кроме как в сериализуемой изоляции
просто в доке https://www.postgresql.org/docs/9.6/static/transaction-iso.html#XACT-SERIALIZABLE написано примерно "а локами мы делаем магию, чтобы всё работало"

Denis
09.02.2017
09:56:17
ну тут просто надо нарисовать на бумаге, разделить линией, слева первую транзакцию, а справа вторую, и посмотреть как операции будут происходить.

в SERIALIZABLE постгрес заметит, что данные обновляются с данных которые изменяются в другой транзакции, и упадет, вам надо будет повторять транзакцию

в REPITABLE READ данные могут быть записаны невалидные, т.е устаревшие, т.к первая транзакция откроется и не будет видеть данные которые произошли во второй после начала транзакции, т.е max(…) может вернуть не настоящий максимум

возможно, если вы не имеете дела в деньгами в этом запросе, достаточно одного «атомарного» запроса, а может и нет

Fike
09.02.2017
10:00:07
Я думаю, Дарафей знает MVCC и у него вопрос скорее по тому, при каких именно условиях будут браться локи, а в каких условиях постгре будет обходиться снапшотами

Denis
09.02.2017
10:01:03
Ну просто зачем спускатся на уровень локов, если понимаешь уровни изоляций

Darafei
09.02.2017
10:32:13
как минимум локами это можно разрулить без падения транзакции

как минимум в лоб сделав подобие питоньего GIL

а дальше хочется сделать это не глобальным локом - и тут становится интересно, какие конструкции каких локов наберут

Fike
09.02.2017
10:38:01
Часто просто делают движок-обработчик в одном потоке (тарантул, редис), и он просто физически может обрабатывать только одну транзакцию at a time. Но это говно не масштабируется, конечно, и надо потратить уйму нервов для решения проблемы с I/O, которое может занимать знатно большее время, чем сама транзакция.

Darafei
09.02.2017
10:39:34
ну как не масштабируется - масштабируется! key-value часто хорошо шардятся. но не всё можно в key-value сложить :)

Dmitry
09.02.2017
10:40:32
некоторые заморачиваются и запускают несколько инстансов редиса )

Fike
09.02.2017
10:40:45
/triggered

Sergey
09.02.2017
10:42:06
/triggered

Google
Darafei
09.02.2017
10:43:18
alter relation redis drop trigger triggered;

Fike
09.02.2017
10:45:40
шардирование в общем убивает всякую транзакционность, оставляя возможность только атомарно обновить один ключ

Denis
09.02.2017
10:51:28
а локи маштабируемость :)

Darafei
09.02.2017
10:57:35
правильно взятые локи масштабируемость поднимают

Yana
09.02.2017
12:49:43
Ребят, а есть чатики по оракл?

Аггей
09.02.2017
12:53:58
Да, но вход по ID подписки ))

Boris
09.02.2017
13:13:55
Да, но вход по ID подписки ))
скинь свой ID, я тебя добавлю? :)

Айтуар
09.02.2017
14:20:11
Если pg_dump с опцией --serializable-deferrable падает с такой ошибкой pg_dump: [archiver (db)] query failed: ERROR: a snapshot-importing transaction must not be READ ONLY DEFERRABLE pg_dump: [parallel archiver] query was: SET TRANSACTION SNAPSHOT '00DF34CA-1' pg_dump: [archiver (db)] query failed: ERROR: invalid snapshot identifier: "00DF34CA-1" Что нужно в БД исправить и как?

Alexandr
09.02.2017
16:35:47
ещё один и будет 777

Аггей
09.02.2017
16:36:08
Откуда их пачками )

Alexey
09.02.2017
16:36:10
Как Boeing.

Igor
09.02.2017
16:36:23
или как rwxrwxrwx

Danila
09.02.2017
16:36:31
kek

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