Size: a a a

pgsql – PostgreSQL

2021 March 04

IM

IVAN MALAKHOV in pgsql – PostgreSQL
Влад
Коллеги, подскажите пожалуйста, какой написать select, чтобы из бд всегда выбиралсь последняя строчка?
может надо получить последний вставленный id, типа getLastID() ?
источник

В

Влад in pgsql – PostgreSQL
IVAN MALAKHOV
может надо получить последний вставленный id, типа getLastID() ?
а как это сделать?
источник

D

Dmitriy in pgsql – PostgreSQL
Влад
а как это сделать?
INSERT ... RETURNING id
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
#БД
[Russian]

Title: Занимательное программирование. Базы данных. Манга

Author: Мана Такахаси, Сёко Адзума
Year: 2015
Pages: 238
ISBN: 978-5-97060-044-3

Description: Если у вас голова идёт кругом, когда речь заходит о базах данных, или же вы просто заплутали в лабиринте чисел и данных, которые, как вам кажется неподвластны контролю, присоединяйтесь к героям книги. Вы узнаете как создать базу данных, которая поможет управлять продажами, реализацией товара и его экспортом. Узнаете, как работает база дынных, и поймёте значение таких терминов, как схемы, ключи, нормализация и транзакции.

@bzd_channel
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Роман , надеюсь за обложку бана не последует? ))
источник

🌌[

🌌El.Randir/42ᅠ [AD]... in pgsql – PostgreSQL
Вопрос:
Я принимаю данные, но они без часового пояса, то есть в UTC 0 приходят.
Вопрос: я могу как-то timezone поставить для конкретной таблицы, или проще когда забираю данные плюсовать 3 часа :?
источник

W

Warstone in pgsql – PostgreSQL
Alexey Lesovsky
Роман , надеюсь за обложку бана не последует? ))
У меня где-то в бумажном формате лежит. При всей бредовости - довольно неплохо описано.
источник

s

sexst in pgsql – PostgreSQL
🌌El.Randir/42ᅠ [AD]
Вопрос:
Я принимаю данные, но они без часового пояса, то есть в UTC 0 приходят.
Вопрос: я могу как-то timezone поставить для конкретной таблицы, или проще когда забираю данные плюсовать 3 часа :?
Данные нужно в часовой пояс на стороне клиента по уму приводить, а передавать между сервисами строго в UTC. Если просто select нужно сделать с выводом в нужной зоне, то есть специальная конструкция at time zone.
источник

🌌[

🌌El.Randir/42ᅠ [AD]... in pgsql – PostgreSQL
sexst
Данные нужно в часовой пояс на стороне клиента по уму приводить, а передавать между сервисами строго в UTC. Если просто select нужно сделать с выводом в нужной зоне, то есть специальная конструкция at time zone.
Спасибо.

Да там решили что логичней всего хранить в 0 часовом поясе. Хотя данные нужны как бы в +3 формате
источник

s

sexst in pgsql – PostgreSQL
🌌El.Randir/42ᅠ [AD]
Спасибо.

Да там решили что логичней всего хранить в 0 часовом поясе. Хотя данные нужны как бы в +3 формате
Хранить логичнее да. Причем  хранить в timestamptz.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
🌌El.Randir/42ᅠ [AD]
Вопрос:
Я принимаю данные, но они без часового пояса, то есть в UTC 0 приходят.
Вопрос: я могу как-то timezone поставить для конкретной таблицы, или проще когда забираю данные плюсовать 3 часа :?
Зачем Вам что-то "плюсовать"? Переводите в абсолютные моменты времени — timestamptz, и так и храните.
источник

s

sexst in pgsql – PostgreSQL
Yaroslav Schekin
Зачем Вам что-то "плюсовать"? Переводите в абсолютные моменты времени — timestamptz, и так и храните.
Хранить это понятно. У человека абстрактный вопрос как выбрать сразу в конкретной зоне. Абстрактный ответ - выбирать с указанием нужной зоны)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
sexst
Хранить это понятно. У человека абстрактный вопрос как выбрать сразу в конкретной зоне. Абстрактный ответ - выбирать с указанием нужной зоны)
А это уже от API зависит, на самом деле.
Но это "данные нужны как бы в +3 формате" намекает, что у используемого с этим плохо, конечно.
источник

🌌[

🌌El.Randir/42ᅠ [AD]... in pgsql – PostgreSQL
Yaroslav Schekin
А это уже от API зависит, на самом деле.
Но это "данные нужны как бы в +3 формате" намекает, что у используемого с этим плохо, конечно.
😏
Ну конечно, мой вопрос был, можно ли не меняя глобальную временную зону, забирать данные сразу в нужной мне..
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Alexey Lesovsky
Роман , надеюсь за обложку бана не последует? ))
Не, главное – краденное не выкладывать :)
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
«База дынных» — супер!
источник

Z

Zheka_13 in pgsql – PostgreSQL
🌌El.Randir/42ᅠ [AD]
😏
Ну конечно, мой вопрос был, можно ли не меняя глобальную временную зону, забирать данные сразу в нужной мне..
можно устанавливать переменную сессии таймзону. и все данные автоматом будут преобразовываться в нее. Но следует иметь ввиду если вы пользуетесь pgbouncerом
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
🌌El.Randir/42ᅠ [AD]
😏
Ну конечно, мой вопрос был, можно ли не меняя глобальную временную зону, забирать данные сразу в нужной мне..
"Глобальной временной зоны" в PostgreSQL не существует.
А вот это "забирать данные сразу в нужной мне" намекает, что используемое Вами API не умеет в настоящие значения даты/времени.
Так что Вам нужно, текст вида "2021-03-04 18:00:23+03", или текст вида "2021-03-04 18:00:23", или ещё что-то?
источник

🌌[

🌌El.Randir/42ᅠ [AD]... in pgsql – PostgreSQL
Yaroslav Schekin
"Глобальной временной зоны" в PostgreSQL не существует.
А вот это "забирать данные сразу в нужной мне" намекает, что используемое Вами API не умеет в настоящие значения даты/времени.
Так что Вам нужно, текст вида "2021-03-04 18:00:23+03", или текст вида "2021-03-04 18:00:23", или ещё что-то?
Отдаёт в str> в формате "2021-03-04 18:00:23"
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
🌌El.Randir/42ᅠ [AD]
Отдаёт в str> в формате "2021-03-04 18:00:23"
Подождите, что отдаёт? Это не один из форматов для timestamptz, например.
В общем, рассказали бы Вы по шагам (с форматами / примерами на каждом шагу), если по-хорошему.
Но если у Вас уже есть timestamptz, например, то это будет:
SELECT now() AT TIME ZONE '-03';
-- или:
SELECT now() AT TIME ZONE '03:00'::INTERVAL;
Или, если нужен не фиксированный часовой пояс, а именно временная зона:
SELECT now() AT TIME ZONE 'Europe/Moscow';
Если API настолько тупое, что не может нормально читать и этого (т.к. это значения timestamp, оно потенциально может их запрашивать по бинарному протоколу и запарывать), то либо изменить его настройки, либо добавить CAST в text.
источник