<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: В СУБД PostgreSQL включена реализация UPSERT</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/102471.html</link>
    <description>В дерево исходных текстов  СУБД PostgreSQL приняты изменения (http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=168d5805e4c08bed7b95d351bf097cff7c07dd65), добавляющие функциональность &quot;UPSERT (https://wiki.postgresql.org/wiki/UPSERT)&quot;, которая реализована через новое выражение &quot;ON CONFLICT DO NOTHING/UPDATE&quot; в операторе &quot;INSERT&quot;. Новая возможность позволяет обработать ситуацию невозможности добавления данных через &quot;INSERT&quot;, например, из-за нарушения условий уникальности или недопустимости значения одного из полей, и вместо вывода ошибки игнорировать выполнение оператора или изменить связанные с ключевым полем данные (т.е. если запись уже существует, вместо INSERT  выполнить UPDATE).&lt;br&gt;&lt;br&gt;&lt;br&gt;URL: https://news.ycombinator.com/item?id=9509870&lt;br&gt;Новость: http://www.opennet.ru/opennews/art.shtml?num=42196&lt;br&gt;</description>

<item>
    <title>В СУБД PostgreSQL включена реализация UPSERT (fi)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/102471.html#47</link>
    <pubDate>Tue, 26 May 2015 10:56:14 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; select ...&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; if found then &lt;br&gt;&amp;gt; а если между select и insert параллельная транзакция проинсертит?&lt;br&gt;&lt;br&gt;&#096;select &amp;#8230; for update&#096;  никто не отменял!&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>В СУБД PostgreSQL включена реализация UPSERT (zero)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/102471.html#46</link>
    <pubDate>Sun, 24 May 2015 12:06:52 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; select ...&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; if found then &lt;br&gt;&amp;gt; а если между select и insert параллельная транзакция проинсертит?&lt;br&gt;&lt;br&gt;Если руки из ... Если логика кривая, то ни одна команда не поможет. Транзакции изолированны и вы в любом случаи словите дубл. на коммит. Так что  ваш пример в природе в диком виде не водиться, вымирает.&lt;br&gt;</description>
</item>

<item>
    <title>В СУБД PostgreSQL включена реализация UPSERT (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/102471.html#45</link>
    <pubDate>Tue, 12 May 2015 10:51:55 GMT</pubDate>
    <description>И ни одно из них не работает полностью.&lt;br&gt;</description>
</item>

<item>
    <title>В СУБД PostgreSQL включена реализация UPSERT (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/102471.html#44</link>
    <pubDate>Tue, 12 May 2015 09:26:44 GMT</pubDate>
    <description>надо еще ошибку у инсерта обрабатывать &lt;br&gt;</description>
</item>

<item>
    <title>В СУБД PostgreSQL включена реализация UPSERT (Led)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/102471.html#43</link>
    <pubDate>Mon, 11 May 2015 20:33:47 GMT</pubDate>
    <description>&amp;gt; Есть более быстрый способ: &lt;br&gt;&amp;gt; update &lt;br&gt;&amp;gt; if число проапдейченых строк = 0 &lt;br&gt;&amp;gt;   insert &lt;br&gt;&amp;gt; end &lt;br&gt;&lt;br&gt;Ага, особенно весело, если после &quot;update&quot; и перед &quot;insert&quot; таки появится необходимая запись для &quot;update&quot;:)&lt;br&gt;</description>
</item>

<item>
    <title>В СУБД PostgreSQL включена реализация UPSERT (rob pike)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/102471.html#42</link>
    <pubDate>Mon, 11 May 2015 08:02:44 GMT</pubDate>
    <description>Несколько готовых рабочих решений - http://dba.stackexchange.com/questions/73846/postgresql-schema-diff-patch-tool&lt;br&gt;</description>
</item>

<item>
    <title>В СУБД PostgreSQL включена реализация UPSERT (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/102471.html#41</link>
    <pubDate>Mon, 11 May 2015 00:15:48 GMT</pubDate>
    <description>&amp;gt; MySQL way (через ж...) ситуацию n юников на таблицу обошли стороной.&lt;br&gt;&lt;br&gt;Т.е. обошли? необходимо указывать какой уник, иначе ошибка&lt;br&gt;</description>
</item>

<item>
    <title>В СУБД PostgreSQL включена реализация UPSERT (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/102471.html#40</link>
    <pubDate>Mon, 11 May 2015 00:09:55 GMT</pubDate>
    <description>Выборка и проверка не атомарны, между ними может вклиниться insert из параллельной транзакции, кроме того это медленно, так что ON CONFLICT рулит. А по поводу иерархии, наверное вы не пользуете ее в постгресе, многословность ON CONFLICTа по сравнению с ней что ландыши на куче навоза)&lt;br&gt;</description>
</item>

<item>
    <title>В СУБД PostgreSQL включена реализация UPSERT (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/102471.html#39</link>
    <pubDate>Mon, 11 May 2015 00:00:20 GMT</pubDate>
    <description>Атомарность однако), а еще ON CONFLICT в разы быстрее хранимки&lt;br&gt;</description>
</item>

</channel>
</rss>
