Size: a a a

pgsql – PostgreSQL

2021 March 04

🌌[

🌌El.Randir/42ᅠ [AD]... in pgsql – PostgreSQL
Yaroslav Schekin
Подождите, что отдаёт? Это не один из форматов для 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.
SELECT now() AT TIME ZONE 'Europe/Moscow';
вот так будет, скорее всего.

Ну я там забираю по апишке, и оно мне отдаёт типа

'timestamp': '2021-03-04 07:59:59.000', и я просто забираю это значение, он отдаёт без указания пояса, но путём угроз и махинаций, узнал, что отдаёт в 0.
источник

🌌[

🌌El.Randir/42ᅠ [AD]... in pgsql – PostgreSQL
Задача была просто выгрузить, всё что есть, но вот оно без зоны. Сказали не критично, но верить кнш..
Решил подстраховаться, и уточнить, можно ли сохранить и отдавать с нужной зоной == можно, я в итоге сохраняю пока как есть, зону не меняю, захотят нужный пояс, сами в селекте потом добавят timezone
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
🌌El.Randir/42ᅠ [AD]
Задача была просто выгрузить, всё что есть, но вот оно без зоны. Сказали не критично, но верить кнш..
Решил подстраховаться, и уточнить, можно ли сохранить и отдавать с нужной зоной == можно, я в итоге сохраняю пока как есть, зону не меняю, захотят нужный пояс, сами в селекте потом добавят timezone
Ну так если известно, что это UTC, то переводите его в абсолютное время (timestamptz) сразу при получении:
SELECT '2021-03-04 07:59:59.000'::timestamp AT TIME ZONE 'UTC';

и сохраняете, куда там надо. А далее — см. выше.
источник

🌌[

🌌El.Randir/42ᅠ [AD]... in pgsql – PostgreSQL
Yaroslav Schekin
Ну так если известно, что это UTC, то переводите его в абсолютное время (timestamptz) сразу при получении:
SELECT '2021-03-04 07:59:59.000'::timestamp AT TIME ZONE 'UTC';

и сохраняете, куда там надо. А далее — см. выше.
Так и сделал, благодарю.
источник

M

Maksim in pgsql – PostgreSQL
Всем привет. Как можно реализовать такое отношение в БД ?
Есть главная таблица Users с полем chat_id и таблица которая дополняет ее: таблица UsersGame
Как сделать ссылку на поле Users.chat_id из таблицы UsersGame ?
Foreign Key не получается из-за не уникальности Users.chat_id
источник

D

Denisio in pgsql – PostgreSQL
а таблица чатов где?
источник

M

Maksim in pgsql – PostgreSQL
Denisio
а таблица чатов где?
Users — это главная таблица. chat_id — один основных параметров пользователя (таблица для бота в тг)
В данном случает таблица чатов не нужна
источник

N

Nikolay in pgsql – PostgreSQL
Talking about SQL optimization, visualization tools, pgMustard -- подключайтесь в ютубе (англ)  http://postgres.tv
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
Maksim
Всем привет. Как можно реализовать такое отношение в БД ?
Есть главная таблица Users с полем chat_id и таблица которая дополняет ее: таблица UsersGame
Как сделать ссылку на поле Users.chat_id из таблицы UsersGame ?
Foreign Key не получается из-за не уникальности Users.chat_id
many2many не?
источник

M

Maksim in pgsql – PostgreSQL
Shamil Sabirov
many2many не?
UsersGame.chat_id — уникальный
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
у вас возможно чтото с логикой БП не все нормально
источник

EZ

Evgenii Zhuravlev in pgsql – PostgreSQL
Привет, кто-нибудь знаком с таким кейсом:
кластер на патрони
wal пишу в S3,
если рядом с изначальной базой создать тестовую и дропнуть тестовую - перестает писаться в WAL, если рестартануть кластер - прилетает большой апдейт WAL сразу файлом *.backup.*
Подскажите, пожалуйста, в какую сторону смотреть?
Любая помощь)
источник

EZ

Evgenii Zhuravlev in pgsql – PostgreSQL
Evgenii Zhuravlev
Привет, кто-нибудь знаком с таким кейсом:
кластер на патрони
wal пишу в S3,
если рядом с изначальной базой создать тестовую и дропнуть тестовую - перестает писаться в WAL, если рестартануть кластер - прилетает большой апдейт WAL сразу файлом *.backup.*
Подскажите, пожалуйста, в какую сторону смотреть?
Любая помощь)
spilo образ точнее.
источник
2021 March 05

EZ

Evgenii Zhuravlev in pgsql – PostgreSQL
Evgenii Zhuravlev
Привет, кто-нибудь знаком с таким кейсом:
кластер на патрони
wal пишу в S3,
если рядом с изначальной базой создать тестовую и дропнуть тестовую - перестает писаться в WAL, если рестартануть кластер - прилетает большой апдейт WAL сразу файлом *.backup.*
Подскажите, пожалуйста, в какую сторону смотреть?
Любая помощь)
уточнение - это происходит при создании тестовой базы
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
У spilo есть страница с issues на гитхабе, попробуйте поискать или спросить там.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Потому что spilo это большой винигрет, и что там внутри и как сконфигурено, лучше всего знают только авторы
источник

LS

Lilo Stich in pgsql – PostgreSQL
Почему изменения внесенные в конфиг файл не применяются при релоаде?

Работает только если делать:
ALTER SYSTEM SET log_statement = 'all’;
SELECT pg_reload_conf();

SHOW log_statement;
log_statement
---------------
all
источник

LS

Lilo Stich in pgsql – PostgreSQL
Не работает так:

SHOW config_file;
---------------
/etc/postgresql/11/data/postgresql.conf

SHOW log_statement;
log_statement
---------------
none

Меняю в этом файле с
log_statement = ‘none’
на
log_statement = 'all’
.
Делаю systemctl reload postgresql-11.
Вижу только 1 строку
LOG:  received SIGHUP, reloading configuration files
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Lilo Stich
Не работает так:

SHOW config_file;
---------------
/etc/postgresql/11/data/postgresql.conf

SHOW log_statement;
log_statement
---------------
none

Меняю в этом файле с
log_statement = ‘none’
на
log_statement = 'all’
.
Делаю systemctl reload postgresql-11.
Вижу только 1 строку
LOG:  received SIGHUP, reloading configuration files
как вариант перепроверить что опция не переопределяется где-то еще раз
источник

LS

Lilo Stich in pgsql – PostgreSQL
Alexey Lesovsky
как вариант перепроверить что опция не переопределяется где-то еще раз
# Ansible managed
[Service]
User=postgres
Group=postgres

RuntimeDirectory=postgresql

Environment=PGDATA=/etc/postgresql/11/data
# workaround for overriding ExecStartPre from original systemd unit
ExecStartPre=
ExecStartPre=/usr/pgsql-11/bin/postgresql-11-check-db-dir /data/postgresql/11/data

LimitMEMLOCK=infinity
источник