
Igor
03.03.2017
05:02:00
недавно еще чел из гитлаба похожий список из пяти способов накатал *))

Артур
03.03.2017
07:32:27

Dmitrii
03.03.2017
07:33:57
О. Я же говорил что никто не понимает что такое кластер в пг

Google

Dmitrii
03.03.2017
07:34:06
Оч неудачное название

Darafei
03.03.2017
07:34:52
xlog хуже :)

raksita
03.03.2017
07:34:59
А ведь есть ещё команда CLUSTER

Dmitrii
03.03.2017
07:35:15

Sergey
03.03.2017
07:35:31
это все стериотипы виноваты :)
и лень читать доку.

Dmitrii
03.03.2017
07:35:58

Alexander
03.03.2017
07:36:48
кластер в PostgreSQL - это несколько баз данных которые появляются после установки и инициализации - template0, template1, postgres. чтобы создать свою БД, нужно взять за шаблон одну из существующих и из него уже создать новую БД.

Артур
03.03.2017
07:37:24
ну как бы кластер я понимаю что такое, БД, я тоже знаю что такое.
Когнитивный диссонанс вызывает именно кластер БД - не что иное как 1 бд в 1 кластере
Или уж кластер СУБД - тогда все садится на свои места

Sergey
03.03.2017
07:39:06
@Archeebald, грубо говоря под кластером БД pg понимают каталог PGDATA

Alexander
03.03.2017
07:39:09
кластер - набор БД template0, template1, postgres ... и так далее. Первые две - считай шаблоны для создания новых баз данных. Инстанс при этом будет один.

Артур
03.03.2017
07:41:01
Я правильно понял: "Кластер БД" = "весь набор системных БД + текущая пользовательская БД"?

Google

Sergey
03.03.2017
07:41:56
+ все пользовательские базы

Alexander
03.03.2017
07:41:56
да

Kirill
03.03.2017
07:43:07
вот тут вот, внезапно, об этом пишут https://postgrespro.ru/docs/postgresql/9.6/creating-cluster.html )

Артур
03.03.2017
07:46:43
Множественное число очень важно
Для меня БД - это единственное число
Поэтому прошу отнестись с пониманием к данному диспуту

Darafei
03.03.2017
07:48:19
resurns setof database

Mike Chuguniy
03.03.2017
07:49:33

Darafei
03.03.2017
07:51:10
Экземпляр?

Andrey
03.03.2017
07:51:16

Mike Chuguniy
03.03.2017
07:52:59
Экземпляр?
"Кластер баз данных представляет собой набор баз, управляемых одним экземпляром работающего сервера."
Из доки по сслыке выше.
Одно дело - команды SQL, другое - терминология русского разговорного.

Andrey
03.03.2017
07:56:50
#define true false
Вот как такой подход называется

Darafei
03.03.2017
07:57:47
Alternative Facts

Mike Chuguniy
03.03.2017
08:18:39

Darafei
03.03.2017
08:19:29
gis=# cluster spatial_ref_sys USING spatial_ref_sys_pkey ;
CLUSTER
я даже не знаю, а как он должен среагировать? :)

Google

Mike Chuguniy
03.03.2017
08:20:17
@Komzpa я просил cluster index, а не cluster. Про CLUSTER я в курсе.

Darafei
03.03.2017
08:20:59
добро пожаловать в язык людей, не обладающий фиксированной грамматикой

Mike Chuguniy
03.03.2017
08:25:53
Мне вот интересно, а существует на планете язык, у которого фиксированная грамматика?
А то, чем дальше в лес, тем шире морда наших прапорщиков. Ну и прочие во мнгих знаниях - многия печали.
Cluster, как команда - это одно, а как объект - это совсем другое. А ещё приходят товарищи и привносят из других СУБД терминологию, синтаксис и прочие безобразия, и становится совсем весело.

Айтуар
03.03.2017
08:31:30

Mike Chuguniy
03.03.2017
08:34:14
@Aytuar да у меня до сегодняшнего дня в общем-то тоже. А тут, оказывается, что это #define true false

Andrey
03.03.2017
08:34:59

Айтуар
03.03.2017
08:35:35

Mike Chuguniy
03.03.2017
08:38:09
@asved ОК. тогда уточнение: разговорный язык, у которого фиксированная грамматика.
Хороший пинок, однако, да. Расслабишься - измордуют, как собаку.

Andrey
03.03.2017
08:39:26
Дайте определение разговорного языка.

Mike Chuguniy
03.03.2017
08:43:25
Понятно, пошла казуистика.

Andrey
03.03.2017
08:47:10
Вот не надо очевидную необходимость стандартизации терминологии приравнивать к казуистике. А то так и будете кластерами все подряд обзывать :)

Айтуар
03.03.2017
08:49:51
Эх вы, сборище галактических кластеров )

Mike Chuguniy
03.03.2017
09:14:12
Тогда уж не кластеров, а кластеризаторов.
И не галактических, а Вселенских - чего мелочиться-то?

Pavel
03.03.2017
10:33:56
Господа, я залип чего-то и не могу отлипнуть.
SELECT *, jsonb_array_elements(data->'attachments') AS attachments
FROM email
Так вот массив attachments пустой. В итоге получаю 0 строк. И не пойму почему. Ведь должен получить много строк, а в колонке attachments NULLs. В чем я неправ?

Darafei
03.03.2017
10:35:16
ты перемножаешь * на set из нуля элементов

Pavel
03.03.2017
10:39:14

Darafei
03.03.2017
10:40:56
воспринимай это как join
во второй таблице нет строк

Google

Darafei
03.03.2017
10:42:47
gis=# select * from json_array_elements('[]');
value
-------
(0 rows)

Pavel
03.03.2017
10:43:21
воспринимай это как join
Тогда не могу понять
SELECT *
,jsonb_array_elements(data->'headers')->>'name' AS header_name
и
SELECT *
,jsonb_array_elements(data->'headers')->>'name' AS header_name
,jsonb_array_elements(data->'headers')->>'value' AS header_value
возвращает одно и то же количество. А если следовать твоей логике, то во втором случае должно быть в квадрате

Darafei
03.03.2017
10:43:40
а это магия

Pavel
03.03.2017
10:43:54
не люблю магии ?

Admin
ERROR: S client not available

Darafei
03.03.2017
10:44:18
оно вернёт AxB строк, если A!=B, иначе А

Pavel
03.03.2017
10:45:15

Darafei
03.03.2017
10:46:14
не знаю
сравни:
select generate_series(1,20), generate_series(1,20);
select generate_series(1,20), generate_series(1,21);

Anton [Mgn, az09@osm]
03.03.2017
10:47:26
натыкался на такое. вроде https://www.postgresql.org/docs/current/static/functions-json.html надо читать

Pavel
03.03.2017
10:47:41

Darafei
03.03.2017
10:47:48
это магия, которая кому-то показалась логичной - как тебе показалось логичным, чтобы вернулось null ;)

Pavel
03.03.2017
10:47:48
А может еще от функции зависит, если STRICT, и одинаковые параметры, то

Darafei
03.03.2017
10:51:37
Нет, я так стенки в 3D генерил, там точно разные аргументы были

Pavel
03.03.2017
10:52:25
Ну ваще.

dmitriy
03.03.2017
10:55:19
https://www.postgresql.org/docs/9.6/static/queries-table-expressions.html#QUERIES-TABLEFUNCTIONS
где-то тут должно быть написано

Pavel
03.03.2017
10:58:19
Table functions may also be combined using the ROWS FROM syntax, with the results returned in parallel columns; the number of result rows in this case is that of the largest function result, with smaller results padded with null values to match.

Google

Ildar
03.03.2017
12:42:10
Всем привет! Есть функция с аргументом типа ANYELEMENT. Внутри хочется определить массив элементов того же типа. Возможно ли такое сделать в plpgsql? Для наглядности пример кода:
create or replace function foo(x anyelement)
returns text as
$$
declare
arr x%TYPE[];
begin
return format('input: %s', x);
end
$$
language plpgsql;

Darafei
03.03.2017
12:43:15
этот массив называется anyarray

Ildar
03.03.2017
12:43:21
т.е. arr x%TYPE[] не работает, arr ANYARRAY - тоже

Darafei
03.03.2017
12:43:28
в plpgsql не пробовал

Ildar
03.03.2017
12:43:44

Darafei
03.03.2017
12:44:07
а в параметр и default null? :)

Ildar
03.03.2017
12:44:45

Denis
03.03.2017
12:45:41
Привет всем. Как мы думаете, если запрос inter from select в котором select потоковый (Merge Full Join или GroupAggregate) то он вставлять данные начинает сразу, без кеширования? Если так, то как из explain analyze выяснить сколько времени он потратил на саму запись данных?

Ildar
03.03.2017
12:51:21
ладно, видимо придется на С переписать

Dmitriy
03.03.2017
18:20:28

Darafei
03.03.2017
18:21:06
котострофа

Dmitriy
03.03.2017
18:22:36
возвращается то количество, при котором последовательности закончатся одновременно
Кстати, кто будет на pgconf?

Darafei
03.03.2017
18:23:20
я буду