
AbiGeuS
13.11.2016
14:23:49

Leonid
14.11.2016
09:57:13
вот хитрый вопрос: SELECT (array[1,2,3])::json; - хочу что-то типа такого. Т.е. чтобы мне вернулся штаный json массив, а не {1,2,3}
это как-то можно сделать?

Nikita
14.11.2016
09:59:17
select to_json(array[1,2,3])

Google

Leonid
14.11.2016
10:00:31
спасибо, понял в какую сторону копать

Nikita
14.11.2016
10:00:56
в сторону https://www.postgresql.org/docs/current/static/functions-json.html :))

Leonid
14.11.2016
10:03:18
если честно, то я был уверен, что array уже воспинимается, как json ? понедельник и не такое бывает

Darafei
14.11.2016
10:07:05
да, в постгресе беда с количеством ненаписанных кастов
array[]::json пишется тривиально, просто его не написали

Междоус
14.11.2016
11:15:19
Всем привет. Вопрос: можно ли сделать foreign key для элемента массива? Гугл кидает на какой-то ELEMENT REFERENCE, но он не работает. Есть обходной путь для включения в массив только тех id, которые определены в другой таблице?
ELEMENT REFERENCE на сколько понял был во времена 9.2, вроде был включен в 9.3, потом исключен в 9.4

Kirill
14.11.2016
11:18:32
есть check

Междоус
14.11.2016
11:20:29
Что-то не понимаю как правильно его применить в данной ситауции. Ведь тут не совсем простая проверка на "больше-меньше-равно"

Kirill
14.11.2016
11:23:51
функцию свою написать и в check ее

Michael
14.11.2016
11:58:24
https://github.com/citusdata/pg_cron
господа, кто-нибудь юзал?
можно ли в продакте юзать?

Dmitry
14.11.2016
12:04:18

Междоус
14.11.2016
12:07:24

Google

Павел П.
14.11.2016
12:15:36
Чат, верно ли я понимаю что функцию
http://postgis.net/docs/ST_GeomFromGeoJSON.html
Можно получить в базе версии 9.3, но нужно обновить(?) расширение(?) JSON-C

Vadim
14.11.2016
12:17:52

Павел П.
14.11.2016
12:18:30
Спасибо!

Darafei
14.11.2016
12:19:13
в околодебианах оно так и собирается само уже со стародавних времён

Дмитрий
14.11.2016
13:42:01
Коллеги, вопрос на засыпку:
Если транзакция завершается COMMIT-ом, но клиент при этом не успевает прочитать сообщение о коммите и рвёт при этом соединение порождая зависший процесс, коммит пройдёт или нет?

ros
14.11.2016
13:42:30
должен

Дмитрий
14.11.2016
13:42:48
А если подумать?

Dmitry
14.11.2016
13:43:46
Зависший процесс на сервере или клиенте у вас порождается?

Дмитрий
14.11.2016
13:43:53
Процесс backend'а при этом остаётся висеть в ожидании пока клиент считает ответ
Но клиент, к сожалению, никогда уже не вернётся

ros
14.11.2016
13:45:02
хотя если соединение порвется ещё до отправки сообщухи о завершении, возможно что-то пойдет не так

Dmitry
14.11.2016
13:46:46
Ну вы можете проверить, если данные из этой транзакции не видны другим после отлупа клиента, то комит не прошел. Можете килять бэкенд.

Дмитрий
14.11.2016
13:46:59
Могу конечно же
Но я же написал, что вопрос на засыпку

Dmitry
14.11.2016
13:47:38
А ситуация воспроизводима? Как так получается, что разрыв именно в момент комита происходит? Это ж постараться надо.

ros
14.11.2016
13:48:29
воспроизводить руками на длинных транзакциях пробовали?
по идее такой исход событий должен быть предусмотрен.
и тут два варианта в зависимости от направления мысли разработчиков.
но оба возможны

Дмитрий
14.11.2016
13:49:28
Ситуация воспроизводима в лабораторных условиях

ros
14.11.2016
13:50:38
и каков исход?

Дмитрий
14.11.2016
13:52:07
Ну не, я так быстро не сдамся
Можете проверить по вашему сценарию

Google

ros
14.11.2016
13:54:39
сдаюсь
влом тестовое окружение за 5 минут до окончания рабочего дня поднимать)

Fike
14.11.2016
13:57:48

ros
14.11.2016
13:59:11
ну а если прилетел RST на TCP-соединении от клиента?
до ответа
все до завтра

Fike
14.11.2016
14:00:56
если ресет прилетел после, то на то, что пришло до ресета это влиять не должно. если ресет прилетел до коммита, то его конечно не будет.

Дмитрий
14.11.2016
14:09:28
Сразу после extended-message до сообщения sync от фронтенда

Fike
14.11.2016
14:16:39
Я, может, вопрос неправильно понял, и он на самом деле звучит "до какого именно момента постгресу разрешается откладывать коммит", но вообще я не знаю зачем постгресу еще что-то ждать после получения сообщения о коммите; более того, как система он обязан его рано или поздно произвести, если он получил отмашку и не свалился до того момента, как успел обработать - вне зависимости от того, как дальше себя ведет клиент.
возможно, вы просто говорите про одну из фаз 2PC, и в этом случае я совсем не то говорю

Darafei
14.11.2016
14:18:35
думаю, откатывать коммит после того, как не было подтверждения от клиента, что он получил информацию о коммите, было бы странно, в обычном кейсе

Fike
14.11.2016
14:22:24
а вообще вот же оно https://aphyr.com/posts/282-jepsen-postgres

Fike
14.11.2016
14:22:56
> 2 unacknowledged writes found! ヽ(´ー`)ノ
т.е. клиент дважды как раз-таки не принял информацию об успешном добавлении

Дмитрий
14.11.2016
14:32:56
Хорошая ссылка ?

Andrey
14.11.2016
15:56:01
Коллеги, если кто-то желает перебраться в СПб и получить интересную работу над хайлоад SaaS с постгресом, питоном и опенрести, то пишите мне лично. Не HR, в базы не добавляю, вакансиями не закидываю :)

Alex
14.11.2016
15:59:55
Не видать на рынке постгресистов в Спб однако.

Darafei
14.11.2016
16:00:42
а вы не хотите перебраться офисом куда-нибудь потеплее? :)

Andrey
14.11.2016
16:05:21
Кто ж не хочет то ))))
Всему своё время )

Михаил
14.11.2016
16:06:26
а кто-нибудь видел чаты по эластику?

Алексей
14.11.2016
16:12:44

Google

Славик
14.11.2016
16:57:21
а какая pgsql самая стабильная? 9.4?

Pavel
14.11.2016
16:58:10
9.6

Darafei
14.11.2016
16:58:22
9.6.1

Славик
14.11.2016
16:58:29
самая стабильная?
она же самая последняя

Darafei
14.11.2016
16:58:56
то есть то, что в ней баги правили, тебе не нравится? :)

Admin
ERROR: S client not available

Славик
14.11.2016
16:59:17
ну как бы это обычное дело, что самая последняя версия чего-либо говно
пока не пройдет полгодика хотя бы, а лучше не появится следующая версия

Pavel
14.11.2016
16:59:41
Это не так

Maxim
14.11.2016
16:59:43
ну так ставь дебиан-6

Pavel
14.11.2016
16:59:44
В случае с pg

Maxim
14.11.2016
16:59:48
там самый стабле

Славик
14.11.2016
17:00:14
если буду ставить дебиан, учту =)

Pavel
14.11.2016
17:00:45
9.6 стабильней 9.4 на 0.146%

Evgeniy
14.11.2016
17:01:02
не, ну можно бояться новых вакум мап например в 9.6
так что консервативный выбор это 9.5 например
например

Славик
14.11.2016
17:01:59
ладно
ставлю 9.6

Darafei
14.11.2016
17:02:04
ну, страхи по-хорошему надо закрывать бекапами

Google

Paul
14.11.2016
17:02:19
в 9.6 добавлено много полезных, так что рекомендуется брать последнюю стабильную версию. Сейчас это 9.6.1

Славик
14.11.2016
17:21:49
поставил pgsql и теперь хочу к нему подключиться через PgAdmin, да или хотя бы просто внутри системы, но не знаю данных
поставил postgresql-client
делаю sudo psql
и получаю: psql: FATAL: role "root" does not exist
что не так?
где надо разрешить руту подключаться к базе?

Сергей
14.11.2016
17:22:51
Смени пользователя -U

Pavel
14.11.2016
17:23:01
надо из под пользователя postgres его админить

Славик
14.11.2016
17:23:16
и этот пользователь без пароля?

Сергей
14.11.2016
17:23:26
Да

Славик
14.11.2016
17:23:39
выставить ему пароль можно через passwd?

Сергей
14.11.2016
17:23:50
Если будешь от имени пользователя postgres, то да
Нет, пароль для системы и пароль для базы - разные вещи

Славик
14.11.2016
17:26:03
вроде выставил пароль через
\password postgres
но не спрашивается

Darafei
14.11.2016
17:28:49
по сокету авторизация на локалхосте же

Славик
14.11.2016
17:32:17
http://stackoverflow.com/questions/1287067/unable-to-connect-postgresql-to-remote-database-using-pgadmin
в общем ок, настроился

Fike
14.11.2016
18:15:17

AbiGeuS
15.11.2016
07:03:26
Добрый день. Можно ли организовать вызов оракловой функции средствами postgres? Т.е. установить связь с ораклом со стороны постгреса и вызвать функцию?