@pgsql

Страница 779 из 1062
Darafei
25.04.2018
14:02:32
а что такое "нужная"?

Ildar
25.04.2018
14:07:30
Привет! Тут коллеги запустили дайджест новостей про postgres, велкам https://t.me/postgresso

yurc
25.04.2018
15:13:07
вопрос почему функция first_value работает, а функция last_value нет! пример: --DROP TABLE test_table; CREATE TABLE test_table ( num integer, date_from date ) WITH ( OIDS=FALSE ); ALTER TABLE test_table OWNER TO postgres; INSERT INTO test_table( num, date_from) VALUES (111, '2017-01-01'),(222,'2018-01-01'),(222,'2017-01-01') получаем по каждому num первое значение date_from select num , first_value(date_from) OVER (partition by num order by t.date_from ) from test_table t 111;"2017-01-01" 222;"2017-01-01" 222;"2017-01-01" получаем по каждому num последнее значение date_from select num , first_value(date_from) OVER (partition by num order by t.date_from desc ) from test_table t 111;"2017-01-01" 222;"2018-01-01" 222;"2018-01-01" пытаемся получить по каждому num первое значение date_from select num , last_value(date_from) OVER (partition by num order by t.date_from desc ) from test_table t 111;"2017-01-01" 222;"2018-01-01" 222;"2017-01-01" пытаемся получить по каждому num последнее значение date_from select num , last_value(date_from) OVER (partition by num order by t.date_from ) from test_table t 111;"2017-01-01" 222;"2017-01-01" 222;"2018-01-01"

Google
Mikhail
25.04.2018
15:14:18
Если не путаю

Недавно было на планете

yurc
25.04.2018
15:14:55
и в чем тут разгадка?

Yaroslav
25.04.2018
15:26:17
и в чем тут разгадка?
В том, что при наличии ORDER BY в оконной функции default frame: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

Dmitry
25.04.2018
16:00:06
ребята, а как правильно мониторить что стриминговая репликация в процессе? вопрос отставания сейчас не рассматриваю.

Ruslan
25.04.2018
17:50:19
ребята, а как правильно мониторить что стриминговая репликация в процессе? вопрос отставания сейчас не рассматриваю.
На слейве - проверка лага репликации (как давно было последнее обновление данных с мастера) select now()-pg_last_xact_replay_timestamp() as last_sync_time; На мастере SELECT * FROM pg_stat_replication;'

Dmitry
25.04.2018
17:50:55
спасибо.

Алексей
25.04.2018
18:15:53
у меня вопрос. Наверное глупость спрошу,- прошу простить. Имеем: я написал небольшое расширение функционала на питоне. Постгрес умеет ето делать. Вопрос в следующем в контексте селинукс как оно (расширение будет выглядет) и если оно с некоторыми внешними папками работает - какие права выставлять?

Иван
25.04.2018
18:38:39
Привет Алекс)

HipJoy
25.04.2018
18:39:22
доброго вечера посоветуйте годные ресурсы по пг, где все разложено по полочкам пользуюсь пг давно, но поверхностно и хочется навести порядок в голове

HipJoy
25.04.2018
18:41:58
Stanislav
25.04.2018
20:29:41
вопрос на собеседование: что может течь в постгресовской сесиии доведя клиентский процесс до сжирания всей памяти и свопа, при том что роллбек и коммит не спасают ?

Google
dk
25.04.2018
20:32:46
Аллокатор!
Памяти? Неожиданно

Stanislav
25.04.2018
20:32:52
я не знаю что это и он не должен расти

Darafei
25.04.2018
20:33:42
Ctrl-C нажимал в запросах?

Stanislav
25.04.2018
20:33:50
расширеный вопрос - чем может гадить клиент таким ? если у него в доступе что угодно ? локи ?

Ctrl-C нажимал в запросах?
всё усложняется тем что это клиент на Go и там нет логгинга кверь даже

Darafei
25.04.2018
20:34:59
А, в го текут горутины

Stanislav
25.04.2018
20:35:01
(вообще я нашел ответ и решил похвастаться)

но течет то не го а постгре процесс

Darafei
25.04.2018
20:36:03
Autoprepare?

Stanislav
25.04.2018
20:36:25
еее. да. клиент создавал prepared statements как не в себя

Darafei
25.04.2018
20:37:07
Кто-то не смог плейсхолдеры

dk
25.04.2018
20:38:09
Нормальные люди делают воркеры приложух с ограниченным количеством решаемых задач и временем жизни, ведь практически невозможно предусмотреть все возможные утечки в сложных прогах

Отработал N запросов и умер, мастер стартанул новый воркер

Stanislav
25.04.2018
20:39:26
я привык что ничего там не может течь. для меня это какаято фантастика что есть какой то ресурс который живет после коммита/роллбека

Darafei
25.04.2018
20:40:10
Например временные таблицы

Или кеш заготовок геометрий постгиса

Stanislav
25.04.2018
20:42:50
ну так то да наверное. ладно я не настоящий волшебник, просто очень в шоке )

Darafei
25.04.2018
20:43:20
Или флажок интеррапта в постгисе

dk
25.04.2018
20:44:12
А как все эти изыскания помогут клиентскому приложению не течь? :)

Google
Darafei
25.04.2018
20:45:59
Не течь помогает зажатый лимит памяти и заведение production issue на падение по oom

dk
25.04.2018
20:46:04
Вообще, хорошая практика - если воркер хотя бы закрывает за собой соединение, а то бывает по 100500 таймвейтов...

Не течь помогает зажатый лимит памяти и заведение production issue на падение по oom
Тогда можно сказать привет висящим "idle in transaction" и прочим печалям

Yaroslav
25.04.2018
21:00:47
Global state в procedural languages ещё может "течь", если есть ошибка работы с ним (в тех PL, где он есть).

Darafei
25.04.2018
21:01:37
Все, что делает malloc, короче

dk
25.04.2018
21:14:56
Логично

Память течет потому, что её выделяют :3

Алекс
26.04.2018
03:43:51
доброго всем утра. не подскажете можно уже где-нибудь взять исходники 11? очень хочется потестировать это https://habr.com/company/postgrespro/blog/353848/

Гаврилов
26.04.2018
05:20:46
слышал про фичу с count по индексам

если у меня будет вся таблица в индексах, то постгрес не будет обращатся к таблице при агрегациях?

Алекс
26.04.2018
05:29:17
Sergey
26.04.2018
05:34:12
ну оно же сыро сыро.... может и данные в тыкву превратить

Алекс
26.04.2018
05:46:04
вот и проверим :)

или не проверим, мастер не собирается

Айтуар
26.04.2018
05:53:48
Это и была проверка)

Алекс
26.04.2018
05:55:28
что за либа такая -lieee ?

/usr/sbin/ld: cannot find -lieee

Айтуар
26.04.2018
06:07:27
lol.so?

Google
Sergey
26.04.2018
06:40:53


Denis
26.04.2018
06:45:29
У вас такие данные в таблице, на которых постгрес решает не использовать этот индекс.

Sergey
26.04.2018
06:46:16
Это верно, там одна запись. Вы хотите сказать что в бою будет всё ок ?

Denis
26.04.2018
06:46:20
На других данных, с лучшей селективностью, вероятно, начнет использовать.

Sergey
26.04.2018
06:47:29
Спасибо огромное! А то я уже весь гугл перерыл в поисках.

Denis
26.04.2018
06:47:45
Да, планы сильно зависят от данных и статистики, собранной по ним базой.

Sergey
26.04.2018
06:56:37
Yaroslav
26.04.2018
07:00:04
Отлично!! Теперь буду знать. Спасибо Вам !
Или не будет, запросто. И поделом —- у вас запрос недетерминированный, т.е. вы выбираете 500 _случайных_ записей.

Yaroslav
26.04.2018
07:02:02
Опа! А как его детерминировать ?
Добавить ORDER BY так, чтобы порядок был уникален.

Михаил
26.04.2018
07:03:56
зачем, если этого не требуется по постановке?

Sergey
26.04.2018
07:05:44


Задача такова: Вернуть всех пользователей у которох нету документа, с определённой датой начало договора.

Yaroslav
26.04.2018
07:08:20
зачем, если этого не требуется по постановке?
По какой постановке могут "требоваться" 500 случайных (каждый раз разных при том же запросе и данных, например) записей?

Sergey
26.04.2018
07:08:59
по 500, это что -бы сервак память не кушал.

Берёт по 500, пишет потоком в файл. Потом, потоком отдаёт файл.

Darafei
26.04.2018
07:11:25
По какой постановке могут "требоваться" 500 случайных (каждый раз разных при том же запросе и данных, например) записей?
"их вообще быть не должно, надо глянуть, какие оказались и хотя бы сотню сегодня обзвонить" в случае каких-нибудь, например, просроченных контрактов

Михаил
26.04.2018
07:11:30
По какой постановке могут "требоваться" 500 случайных (каждый раз разных при том же запросе и данных, например) записей?
тут в принципе много вопросов к автору) но в общем случае, если с этими 500 записями что-то в результате делают, что они перестают попадать в выборку (например, прописывают identification_document_id), то случайные записи - легко

Yaroslav
26.04.2018
07:13:24
Sergey
26.04.2018
07:13:49
Хмм... Какой сервак?
Не постгресс =)) php-fpm.

Google
Ibosh
26.04.2018
07:13:59
Здавствуйте! В жава коде даю такой запросик, проверяю в pgAdmin, а там нету таких Rows

statement = connection.createStatement(); String sql = "INSERT INTO transactions (title, date_of_creation, additional_params, cost_of_transaction, sender, reciever, system_of_creator) " + "VALUES ( '"+columns.getTitle()+"', '"+ columns.getDate_of_creation()+"', '"+ columns.getAdditional_params()+"', '"+ columns.getCost_of_transaction()+"', '"+ columns.getSender()+"', '"+ columns.getReciever()+"', '"+ columns.getSystem_of_creator()+ "' );"; statement.executeUpdate(sql);

В чем может быть ошибка?

Михаил
26.04.2018
07:16:11
В чем может быть ошибка?
https://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html

это как предположение. Может не к той базе ещё подключаетесь :)

Sergey
26.04.2018
07:21:07
тут в принципе много вопросов к автору) но в общем случае, если с этими 500 записями что-то в результате делают, что они перестают попадать в выборку (например, прописывают identification_document_id), то случайные записи - легко
Это отчёт для сервера мобильных приложений. Мы создаём файл с пользователями без документов и отдаём его. Далее, сервак парист файл и отправляет push на мобилку - "Не предоставите документы, расторгаем договор."

Yaroslav
26.04.2018
07:31:51
Берёт по 500, пишет потоком в файл. Потом, потоком отдаёт файл.
И как вы это вообще планировали без ORDER BY? Сначала 500 случайных строк, потом других 500 (включая часть предыдущих, например)? ;)

Николай
26.04.2018
07:35:19
Всем привет. Подскажите. Есть такая ситуация. Раз в 5 сек в базу кладётся запись с датой и IP адресом компьютера. В эту же таблицу могут класться записи с других компов (IP). Как вычленить в разрезе 1 IP его UPTIME, т.е. дату после длительного перерыва между записями (например, 1 минута)

Страница 779 из 1062