Size: a a a

pgsql – PostgreSQL

2021 March 30

k🥔

karrtopelka 🥔 in pgsql – PostgreSQL
Сергей Кравчук
нет, вам нужно похоже установить глобальный параметр
а не для базы данных
у меня пару баз данных 😅 и не надо в каждой таймзону
источник

k🥔

karrtopelka 🥔 in pgsql – PostgreSQL
разные проекты в университете, и только в одном надо привязку к таймзоне, вот так
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
karrtopelka 🥔
у меня пару баз данных 😅 и не надо в каждой таймзону
Оу, тогда вопрос становится интереснее
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
karrtopelka 🥔
разные проекты в университете, и только в одном надо привязку к таймзоне, вот так
Требование именно такое ?
Несколько баз в одном истансе ?
И во всех utc , кроме одной, где другая таймзона ?
Все верно ?
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
Даже и не знаю возможно ли это, потому что таймзона это сессионный параметр,
Его можно назначить глобально для всех, и для конкретной сессии отдельно

Но не знаю можно ли его задать для сессий , подключающихся к определенной базе
источник

k🥔

karrtopelka 🥔 in pgsql – PostgreSQL
не знаю правильно ли я понял ваш вопрос, поэтому просто опишу что у меня есть. Разные базы данных постгреса, это разные проекты, которые не относятся друг к другу. в одном из проектов (mx_smu) я делаю проверку, в котором использую час (hour) который у человека на девайсе в тот момент. Оно возвращает 7 часов утра, а это не правда, и запрос получается работает не коректно
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
Вам стоит хранить базы разных проектов отдельно,
тогда и не будет данной проблемы
запустить нужную базу на время работы с проектом думаю не критично
ну или если уж совсем хочется, то можно запускать несколько на разных портах

но не смешивать несколько проектов в одной базе
не думаю что это хорошая практика
источник

k🥔

karrtopelka 🥔 in pgsql – PostgreSQL
Сергей Кравчук
Вам стоит хранить базы разных проектов отдельно,
тогда и не будет данной проблемы
запустить нужную базу на время работы с проектом думаю не критично
ну или если уж совсем хочется, то можно запускать несколько на разных портах

но не смешивать несколько проектов в одной базе
не думаю что это хорошая практика
а как на одном комп'ютере хранить пару проектов? Зашел в пгАдмин я так понял мне надо сервер создавать новый и так под каждый проект?
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
karrtopelka 🥔
а как на одном комп'ютере хранить пару проектов? Зашел в пгАдмин я так понял мне надо сервер создавать новый и так под каждый проект?
Пгадмин лишь средство как подключиться к базе
А у вас наверняка ещё и на винде все крутится ?
Тут не помогу, с виндой не работал
источник

k🥔

karrtopelka 🥔 in pgsql – PostgreSQL
Сергей Кравчук
Пгадмин лишь средство как подключиться к базе
А у вас наверняка ещё и на винде все крутится ?
Тут не помогу, с виндой не работал
да, ноут на виндовсе

А если в конфиге постгреса роскомментировать таймзону и указать для Украины?
источник

k🥔

karrtopelka 🥔 in pgsql – PostgreSQL
datestyle = 'iso, dmy'
#intervalstyle = 'postgres'
#timezone = 'GMT'#timezone = 'GMT' (поменять на EEST)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
karrtopelka 🥔
пробовал так, но оно все равно дает 7 часов утра
"А у меня всё работает", как и должно.
(Подозрительно) А в чём это Вы проверяете? Если не в psql, то попробуйте сначала там.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Сергей Кравчук
Даже и не знаю возможно ли это, потому что таймзона это сессионный параметр,
Его можно назначить глобально для всех, и для конкретной сессии отдельно

Но не знаю можно ли его задать для сессий , подключающихся к определенной базе
Да, возможно. Более того, тут же показали, как: https://t.me/pgsql/293585 :)
источник

k🥔

karrtopelka 🥔 in pgsql – PostgreSQL
Yaroslav Schekin
"А у меня всё работает", как и должно.
(Подозрительно) А в чём это Вы проверяете? Если не в psql, то попробуйте сначала там.
я зашел в query этой базы данных, и написал просто
set timezone to 'Europe/Kiev'
и оно вернуло 11 часов утра, как и должно, но поскольку он сессийный, как сказал Сергей, я перезагрузил ноут, и оно опять показывает 8 часов утра. Подскажите если не сложно, как создать новый проект, на новом сервере, если у меня один компьютер, спасибо
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
karrtopelka 🥔
я зашел в query этой базы данных, и написал просто
set timezone to 'Europe/Kiev'
и оно вернуло 11 часов утра, как и должно, но поскольку он сессийный, как сказал Сергей, я перезагрузил ноут, и оно опять показывает 8 часов утра. Подскажите если не сложно, как создать новый проект, на новом сервере, если у меня один компьютер, спасибо
> я зашел в query этой базы данных
> как создать новый проект

Таких вещей в PostgreSQL не существует, Вы это понимаете?
Т.е. сейчас Вы рассказываете про какие-то проблемы конкретного GUI-клиента (pgadmin, да?), которые к postgres никак не относятся. Т.е. у нормальных приложений этих проблем просто не будет.
И поэтому стоит начать с проверки официальным клиентом PostgreSQL (кто его знает, что там делает очередной "левый" клиент).
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
karrtopelka 🥔
я зашел в query этой базы данных, и написал просто
set timezone to 'Europe/Kiev'
и оно вернуло 11 часов утра, как и должно, но поскольку он сессийный, как сказал Сергей, я перезагрузил ноут, и оно опять показывает 8 часов утра. Подскажите если не сложно, как создать новый проект, на новом сервере, если у меня один компьютер, спасибо
alter system set timezone to 'Europe/Kiev';
И у вас будет отличная временная зона в "старом проекте".
источник

k🥔

karrtopelka 🥔 in pgsql – PostgreSQL
Yaroslav Schekin
> я зашел в query этой базы данных
> как создать новый проект

Таких вещей в PostgreSQL не существует, Вы это понимаете?
Т.е. сейчас Вы рассказываете про какие-то проблемы конкретного GUI-клиента (pgadmin, да?), которые к postgres никак не относятся. Т.е. у нормальных приложений этих проблем просто не будет.
И поэтому стоит начать с проверки официальным клиентом PostgreSQL (кто его знает, что там делает очередной "левый" клиент).
ааа, я понял, хорошо
источник

LM

Lina M in pgsql – PostgreSQL
batyrmastyr
А вам связанные задачи нужны когда вы смотрите на текущую или для какой-то массовой выборки? В первом случае вам может хватить gin индекса и нескольких запросов вида entities_data @> '{"geo": "geo-123"} при просмотре текущей записи.
В рамках текущей структуры вам «похожие» нужно искать нужно только для новых/изменившихся записей, а уж если у них есть похожие, то вписывать новую запись в пару к найденной.

Далее, я не понимаю, зачем вам guid in_relation, если ключами связи по факту являются geo-123, nop-467 и подобные?
Ещё правильнее было бы вынести entities_data в отдельную таблицу, каждый ключ (geo, nop...) сделав столбцом с индексом - так будет ещё быстрее.
>А вам связанные задачи нужны когда вы смотрите на текущую или для какой-то массовой выборки?

Когда смотрю на текущую.

>«Похожие» нужно искать нужно только для новых/изменившихся записей, а уж если у них есть похожие, то вписывать новую запись в пару к найденной.

А что будет происходить, например, если новая запись имеет пары ключ-значение двух задач, которые до этого связи не имели? Проще наверное на графах объяснить. Пусть есть две "старые" вершины, которые не имеют ребра. Добавление новой записи соединяет все эти три вершины вместе. И, отвечая на следующий вопрос про guid in_relation — вот такому объединению трёх вершин хочется дать какое-то наименование. И сейчас это мне видится как просто уникальный идентификатор, но в дальнейшем это будет что-то осмысленное (в контексте), например phys-math-prog-12.
И в момент времени необходимо обратится по этому идентификатору phys-math-prog-12 и посмотреть, какие задачи в это объединение входят.
источник

JD

John Doe in pgsql – PostgreSQL
Добрый день. Подскажите пожалуйста, как много времени максимум может пройти между транзакцией и ROLLBACK? Чем может быть ограничен ROLLBACK?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
John Doe
Добрый день. Подскажите пожалуйста, как много времени максимум может пройти между транзакцией и ROLLBACK? Чем может быть ограничен ROLLBACK?
ROLLBACK это управляющая команда в транзакции которую должен отправить тот кто инициировал транзакцию. Поэтому может пройти сколько угодно времени пока тому кто инициировал транзакцию не придет в голову отправть ROLLBACK.

> Чем может быть ограничен ROLLBACK?
Кмк таких ограничений нет.
источник