
Антон
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
а сколько нужно человек чтобы ответить на вопрос о простейшем синтаксисе запроса? :)

Alexander
08.02.2017
21:56:34

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

Anna
08.02.2017
22:00:17

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
в чате по эликсиру тоже отличные обсуждалки ?
и вроде без пидоров, отличнейший чат

Alexander
08.02.2017
23:46:08
Маргиналы эти пхпешники

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

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

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

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 тоже не поможет, если я правильно понял

Wom
09.02.2017
09:43:06

Darafei
09.02.2017
09:55:05

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

Аггей
09.02.2017
13:20:04

Иван
09.02.2017
13:23:11

Айтуар
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