@pgsql

Страница 388 из 1062
WoodyFire
04.07.2017
12:31:09
Вам надо с офицерами из ГОУ ГШ пообщаться. Они с 2014 года толкают тему ГИСов в армии.Там postgres + postgis. Может поделятся и для МЧС :)
Не того поля ягодки мы ((((( А на высшем уровне о чем думают не знаю. Хотя недавно по телику видел краем глаза работу ЕДДС Питера и офигел. Но до нас думаю дойдет лет так через 10-ть.

Vadim
04.07.2017
12:35:20
Не того поля ягодки мы ((((( А на высшем уровне о чем думают не знаю. Хотя недавно по телику видел краем глаза работу ЕДДС Питера и офигел. Но до нас думаю дойдет лет так через 10-ть.
На высшем уровне особо не думают, там осваивают бюджет)) Продавливать только снизу вверх и побольше красивых картинок)) особенно любят 3D ))

WoodyFire
04.07.2017
12:36:31
О да. Вот только сколько уже построено 3D, а толку нет. Нет никакого объединения инфы. Все разрозненно.

А что больше все обидно. Сколько потрачено человеко-часов на это и пока не видно отдачи от этого

Google
Darafei
04.07.2017
12:38:12
это следствие подхода "кругом враги" :)

WoodyFire
04.07.2017
12:38:56
это следствие подхода "кругом враги" :)
не это следствие без грамотности вышестоящего в этих направлениях.

Вот зачем рисовать все это руками, если уже давно существуют 3D сканеры. Которые сканируют здания и создают 3D модель. Зачем тратить большего количество времени на создание того, что можно создать в разы быстрее

Darafei
04.07.2017
12:40:58
3D-сканеры делают растр, с которым дальше тоже не очень понятно что делать

из контура + метаинформации "тут 9 этажей" польза извлекается куда проще, чем из растра.

WoodyFire
04.07.2017
12:46:01
Вообще мне конечно интересно куда все это привет и что создастся в конечном счете. Сейчас 3D модели рисуются в 3DMax. Насколько я понимаю они рисуются для того чтобы оперативный начальствующий состав обучать.

Айтуар
04.07.2017
12:46:43
Подскажите как логировать работу функций?

Maksim
04.07.2017
12:47:14
Подскажите как логировать работу функций?
в смысле, какие запросы внутри происходят?

Айтуар
04.07.2017
12:48:51
в смысле, какие запросы внутри происходят?
Да нужно проследить как отрабатывают они. Т.к. внутри у них другие функции тоже вызываются.

Maksim
04.07.2017
12:50:34
auto_explain.log_nested_statements

Alexander
04.07.2017
12:50:49




Vadim
04.07.2017
12:51:02
Вообще мне конечно интересно куда все это привет и что создастся в конечном счете. Сейчас 3D модели рисуются в 3DMax. Насколько я понимаю они рисуются для того чтобы оперативный начальствующий состав обучать.
Проблема в том, что в госстуктурах нет единой БД с геопространственными данными, аля OSM. Грубо говоря чтобы все ходили в одно место и наполняли БД. Армия, МЧС, МВД, Росреестр и т д и т п. В каждой структуре свои карты, своего формата и они не переносимы чаще всего. Отсюда все проблемы. Застряли в 90х годах со своими картами Панорама :)

Google
Alexander
04.07.2017
12:51:13
Прошу прощения

Айтуар
04.07.2017
12:52:30
auto_explain.log_nested_statements
понятно, так и думал что придётся расширение включать.

Anton [Mgn, az09@osm]
04.07.2017
12:53:43
понятно, так и думал что придётся расширение включать.
ну почему же, можно внутри функции внедрить логгирование. ручное

(это плохой совет, надо включать расширения)

WoodyFire
04.07.2017
12:55:12
не, не удивлен. Ничего не меняется)
Не. меняется. Пока в отпуске диспетчера осваиваются с программой. А потом объединю все подразделения гарнизона. И будет, если телефонограмма пришла о том, что гидрант не работает или обнаружен был не рабочий. То один внес и все увидели.

Правда как выше сказали. Все на голом интузиазме (((

Айтуар
04.07.2017
12:56:12
WoodyFire
04.07.2017
12:58:30
мне нужно всё логировать, а функций много
А мне вот как студенту интересно, зачем все логировать? Что преследуется? Какая ценность в полном логировании? Логирование ценное это когда изменения, но в СУБД для этого существует журнал транзакций или я не прав?

Петр
04.07.2017
12:59:59
WoodyFire
04.07.2017
13:00:14
У меня тоже много функций. Но большая часть занимается запросами и формированием данных для клиента. А лишь малая часть функций что то изменяет.

Айтуар
04.07.2017
13:00:24
Mike Chuguniy
04.07.2017
13:00:33
Подскажите как логировать работу функций?
А тебе не оффлайн дебаг нужен случайно? А то что-то очень похоже.

Таки дебаг.

Судя по "для отладки приложения"

WoodyFire
04.07.2017
13:01:32
Для отладки функций я недавно использовать pgdebugger и планироващика. На базе их возможностей удалось работу функции с 3,5 минут превратить в 2 сек.

Fike
04.07.2017
13:02:23
и это все никак не поможет, когда выяснилось, что скрипт автоматического менеджмента аккаунтами грохнул половину юзеров и теперь надо это не допустить в дальнейшем

Google
Айтуар
04.07.2017
13:02:39
Если в стандартный лог БД будет писаться работа функций, мне этого достаточно.

Fike
04.07.2017
13:06:25
его не существует, я его сейчас выдумал

я про то, что дебаггером в прошлое не подцепишься

WoodyFire
04.07.2017
13:09:36
Да, но журнал транзакций разве не фиксирует изменения. Конечно, это при условии, что используются именно транзакции при изменении данных

Айтуар
04.07.2017
13:10:43
а может тогда pg_stat_statements ?

Fike
04.07.2017
13:10:44
лог программы != выполненные транзакции

Yury
04.07.2017
13:10:55
ооо KaiGai отпочковался от NEC и свою БД запилил http://heterodb.com/

WoodyFire
04.07.2017
13:16:36
лог программы != выполненные транзакции
Я думаю при правильном построении такой проблемы не будет. Что является программа у клиента - просто морда (GUI) которая показывает результаты. А СУБД призвана обрабатывать данные. И если данные загружаются клиенту для обработки, то мое личное мнение это не правильная архитектура. Я считаю, что каждый должен заниматься тем для чего создан. Из сказанного мной выше я считаю, что у базы должен быть API который общается с клиентом. Тогда проблем меньше по целостности. Хотя все больше вижу именно обработку данных у клиентов. Я иду другим путем. Разделяй и властвуй. Можете меня побить, если я не прав.

Azat
04.07.2017
13:16:49
Парни доброго дня. Не сталкивались с таким что prepared statement с 3 входнымм параметрами хуже по производительности чем обычный plain sql.? Postgres версии 9.6

Запрос прост - 3 joins + in ($1, $2,$3)

WoodyFire
04.07.2017
13:32:15
Отправляя запросы SQL с клиента мы тем самым искусственно создаем дополнительную нагрузку на СУБД. Которая прежде, чем выдаст результат должна распарсить полученный запрос и понять, что от нее клиент хочет. Затем СУБД должна построить план выполнения и выбрать что оптимально в данный момент. А для сохраненной функции такая доп.нагрузка, как я разобрался, отсутствует. Распарсивание выполняется один раз и строиться план выполнения. Сохраняется в бинарном виде и при вызове ее практически сразу приступает к обработке данных.

Alexey
04.07.2017
13:33:35
Парни доброго дня. Не сталкивались с таким что prepared statement с 3 входнымм параметрами хуже по производительности чем обычный plain sql.? Postgres версии 9.6
Скорее всего prepared statement использует неоптимальный план выполнения запроса. У постгреса есть с этим некоторые нюансы. Нужно смотреть в EXPLAIN EXECUTE. Детали тут: https://www.postgresql.org/docs/current/static/sql-prepare.html и тут http://blog.endpoint.com/2014/04/custom-plans-prepared-statements-in.html

Denis
04.07.2017
13:40:19
Да, но журнал транзакций разве не фиксирует изменения. Конечно, это при условии, что используются именно транзакции при изменении данных
Если вы про журнал транзакций кластера xlog, то поинтересуйтесь, сколько он живет и как ротируется. Да и доставать данные оттуда за гранью разума. Если вы про лог постгреса, то туда пишутся запросы с определённым временем выполнения (можно и все). Но использовать их для аудита событий - нефункционально. И да, логи тоже ротируются и не вечны. Поэтому для восстановления истории кто что сделал и пишут в отдельную таблицу аудит.

nindider
04.07.2017
13:41:56
А мне вот как студенту интересно, зачем все логировать? Что преследуется? Какая ценность в полном логировании? Логирование ценное это когда изменения, но в СУБД для этого существует журнал транзакций или я не прав?
Удобно потом просматривать изменения без мозготраха) На одном проекте, где я работал, при создании таблицы создавались и лог-таблицы для нее, в котроые писались все DML операции(кроме select уж). Т.е. записывалась вся строка и плюс доп. инфа в виде какой пользователь изменил, с какого компьютера и т.п. Очень удобно, пару раз даже спасала жопу)

Darafei
04.07.2017
13:43:00
Аудит. Когда нечаянно разрешили что-то делать кому-то, кому не стоило, и нужно выяснить, сколько именно этим пользовались и как вернуть назад.

WoodyFire
04.07.2017
13:45:42
)))))) такие таблички у меня имеются. Дошел сам. Но вижу это все актуально. Это приятно. Правда может они и не совсем правильные, но вычислить по ним кто что изменял и когда можно ))))

у меня в этих табличках фиксируется ip-адрес машины, логин юзера, что вызывал и с какими входными данными

ах да и время вызова

и все это я отделил от схемы с данными. лежит отдельно в схеме. Всю информацию туда размещает написанный API в СУБД

Google
WoodyFire
04.07.2017
13:53:14
Вот только не подумайте, что у меня большой и крутой проект. Половину еще не реализовано. Да и сам еще только учусь. Я еще "зеленый". А хуже всего я один на все и на голом интузиазме ((((.

nindider
04.07.2017
13:54:45
Или как говорится - триггеры событий

То же создание лог таблицы и триггеров логгирования при создании обычной таблицы с данными

В PG я хз как это реализовать

В Oracle попроще с этим

WoodyFire
04.07.2017
14:00:36
Вот кстати, реализовывал через системные триггеры?
пока триггеры вообще не трогал. Все в функциях. Триггеры событий скорее всего задействую для вызова определенной функции к примеру при подсчете статистики за определенный период. Чтобы готовая обработанная информация лежала в таблице. Так сказать своеобразный кеш. И при обращении клиента не проводились расчеты, а выдавался сразу результат. Тогда думаю нагрузка в будущем, при появлении большого количества клиентов, не сильно возрастет.

nindider
04.07.2017
14:01:10
Получается у тебя данные через функцию обновляются что ли?

Admin
ERROR: S client not available

nindider
04.07.2017
14:01:22
Просто я хз ка кне через триггеры отлавливать dml jgthfwbb yf nf,kbwt

dml операции на таблице

WoodyFire
04.07.2017
14:04:45
Получается у тебя данные через функцию обновляются что ли?
Да. Допустим клиент хочет внести данные в какую-нибудь таблицу. Ну к примеру сотрудника, то он вызывает addSotr(firstName, LastName, otchName, birthday). Клиент понятия не имеет как устроена база и понятия не имеет что будет твориться в СУБД

nindider
04.07.2017
14:05:23
addSotr это функция в PG?

WoodyFire
04.07.2017
14:05:42
да. написанная мной

nindider
04.07.2017
14:05:49
Ясненько

WoodyFire
04.07.2017
14:12:18
А еще есть функции с несколькими конструкторами, что собственно одно из причин перехода с MySQL.

nindider
04.07.2017
14:14:07
Перегрузка что ли

WoodyFire
04.07.2017
14:14:09
Но вот наследование таблиц это вообще круть. ))))

nindider
04.07.2017
14:14:24
Воу, не знал об этом

Google
Fike
04.07.2017
14:14:32
Перегрузка что ли
параметрический полиморфизм?

nindider
04.07.2017
14:14:50
Привык называть перегрузкой))

WoodyFire
04.07.2017
14:15:28
да так правильно. я как студент еще не совсем все называю своими именами. Это меня надо ругать, за то что не правильно выражаюсь

Fike
04.07.2017
14:16:35
а походу я налажал, это не оно все-таки

WoodyFire
04.07.2017
14:26:02
ну наконец-то я нашел. страница 1323 "Перегрузка" ))))) руководство pg 9.6.2

nindider
04.07.2017
14:26:33
Перегрузка это основа, есть почти во всех языках)

С опытом знания накапливаются, и следющие инструменты уже проще изучать

Я сам то имею знания-обрывки в PG

WoodyFire
04.07.2017
14:30:30
Да поэтому я задался целью изучить Си и С++ + Assabler. Правда незнаю хватит ли сил. Но по воле судьбы попался человек хороший который провел по азам Си и С++. Теперь все зависит от меня самого

Коллеги можете поздравить ))))) Сдал на 5-ть. Вводный курс по БД.

nindider
04.07.2017
15:14:04
Какие вопросы были?

WoodyFire
04.07.2017
15:18:20
Какие вопросы были?
Собсвенно не сложные. Все-таки вводный. Типа что это такое и как называется. В том числе и про шардинг вспомнил сегодняшний. Правильный ответ Система управления распределенными базами данных. ))))

Архитектура такая )))

nindider
04.07.2017
15:19:52
Хм, распределенные не встречал еще. Обычно же СУБД/RDBMS

WoodyFire
04.07.2017
15:23:36
Как я понял из всей кучи информации. Это имеется главный сервер к которому все обращаются, а он решает с какого сервера, что тянуть. Получается типа многопроцессорной системы располагающаяся на разных машинах и может находиться в разных географических местах. по ссылке https://habrahabr.ru/company/oleg-bunin/blog/309330/ которую выкладывали выше. Иванов как раз продемонстрировал это.

С учетом того, что у нас машина на базе процессора i3 это майнфрейм работающий с 3D. А сервер максимум на процессоре Core2Duo, то видимо такую архитектуру придется строить и совсем скоро.

Правда такой сервер вообще один у нас. Серверов у нас нет. Не считая файл-помойки на базе вин-машины которую смог состряпать наш "программист".

Игорь
04.07.2017
18:36:06
Товарищи, такой вопрос. После установки на убунту, первый зайти в psql удаётся только через sudo -u postgres psql. Если пробую сначала зайти в систему под пользователем postgres через sudo su postgres и потом зайти в psql, ругается psql: could not connect to server: Нет такого файла или каталога Is server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? В чем трабл, кто подскажет?

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