@pgsql

Страница 641 из 1062
Jim
22.01.2018
05:51:38
"устойчивая" модель шатаясь еле ползёт =)

Mike Chuguniy
22.01.2018
07:43:43
Он же в лаке
А при чём тут лак?

Google
Аггей
22.01.2018
08:12:19
Тонкий диэлектрик

Mike Chuguniy
22.01.2018
08:14:46
Пинцет - это не для изоляции. Пинцет - это теплоотвод в первую очередь. И если просто провод держать пальцами - это только пальцам можно больно сделать, и/или покоцать этот самый лак, то держа пальцами что-нибудь более критичное к температуре, запросто это что-нибудь выводится из строя.

Alexander
22.01.2018
10:53:47
Всем привет! Кто нибудь может объяснить значение терминов "Literal SQL" и "Bind SQL"?

Konstantin
22.01.2018
11:11:04
В "Literal SQL" в запроса напрямую подсталяются константочки, типа "select * from T where x=123", в "Bind SQL" используется binding параметров "select * from T where x=?"

Во втором случае можно использовать prepared statement-ы, что на простых запросах обеспечивает прирост скорости почтив два раза. В первом случае оптимизатор получает шанс соптимизировать запрос под конкретные значения (использяю статистику), что особенно важно при неоднородно распределённых данных.

В Посгресе при использовании prepared statement-ов проверяется насколько общий (generic) план проигрывает специализированному и и выбирается generic только если его стоимость меньше, чем у средняя стоимость специализированного плана.

Lucky
22.01.2018
12:13:26
Можно пример хранимой процедуры, которая возвращает селект по нескольким колонкам в одной таблице?

Причём возвращает так же полями с колонками

Denis
22.01.2018
12:17:15
http://www.postgresqltutorial.com/plpgsql-function-returns-a-table/ оно?

Vladimir
22.01.2018
12:17:45
https://www.postgresql.org/docs/current/static/sql-createfunction.html returns table

Это?

Lucky
22.01.2018
12:29:54
сейчас проверю

Google
Lucky
22.01.2018
12:36:52
И да и нет. Хочется вызывать просто по SELECT hranimka, а не по SELECT * FROM hranimka

Но пока и так сойдёт, спасибо

andrey
22.01.2018
12:50:32
всем привет у меня есть глупый вопрос по sql запросу: `WITH smart_grade AS ( SELECT pmo.gradehistory.id AS id, pmo.gradehistory.employee_id AS employee_id, pmo.gradehistory.workprofile AS workprofile, pmo.gradehistory.specialization AS specialization, pmo.gradehistory.track AS track, pmo.gradehistory.location AS location, pmo.gradehistory.DATE::DATE AS start, Min (Coalesce (g2.DATE::DATE, '2099-12-31 00:00:00'::DATE)) AS finish FROM pmo.gradehistory full outer join pmo.gradehistory g2 ON pmo.gradehistory.employee_id = g2.employee_id AND pmo.gradehistory.DATE::DATE < g2.DATE::DATE WHERE pmo.gradehistory.id IS NOT NULL GROUP BY pmo.gradehistory.id, pmo.gradehistory.employee_id, pmo.gradehistory.workprofile, pmo.gradehistory.location, pmo.gradehistory.DATE ) , bench_assignments as (SELECT employee_id, pmo.assignment.startdate :: DATE as startdate, Coalesce (pmo.assignment.finishdate :: DATE, Now() :: DATE) as finishdate FROM pmo.assignment WHERE pmo.assignment.billable_status_id IN ( 2, 4 ) ) , BAD_table as ( SELECT month_d as date, AVG (extract(day from pmo._days.month_d::timestamp - bench_assignments.startdate::timestamp )) as "BAD", COUNT(bench_assignments.employee_id) as "Employee Counts" FROM pmo._days join bench_assignments ON bench_assignments.startdate <= pmo._days.month_d AND ( bench_assignments.finishdate IS NULL OR bench_assignments.finishdate >= pmo._days.month_d ) JOIN smart_grade ON smart_grade.employee_id = bench_assignments.employee_id JOIN pmo._profile_mapping ON pmo._profile_mapping.workprofile = COALESCE (TRIM ( smart_grade.workprofile),'') and pmo._profile_mapping.specialization = COALESCE (TRIM( smart_grade.specialization),'') JOIN pmo.gradehistory ON smart_grade.id = pmo.gradehistory.id WHERE 1=1 [[AND {{profile}} ]] [[AND {{dates}} ]] [[AND {{grades}}]] [[AND {{locaiton}}]] [[AND {{grades_letter}}]] GROUP BY month_d ORDER BY month_d DESC ) SELECT date, "BAD", AVG("BAD") OVER(ORDER BY date ROWS BETWEEN 31 PRECEDING AND CURRENT ROW) AS "Sliding Avg", "Employee Counts" from BAD_table ` выводит Bench - Assignment Duration (BAD) и avg по дате в `SELECT month_d as date, AVG (extract(day from pmo._days.month_d::timestamp - bench_assignments.startdate::timestamp )) as "BAD"` я добавил: COUNT(bench_assignments.employee_id) as "Employee Counts" но данные не коректны, не подскажите как правильно добавить количество сотрудников ?

Vladimir
22.01.2018
12:53:58


andrey
22.01.2018
12:55:27
?

Yaroslav
22.01.2018
13:17:01
?
Разобрались бы Вы с этим запросом по частям, т.е. отладили BAD_table... откуда мы можем знать, что значат все эти таблицы? ;(

andrey
22.01.2018
13:22:20
Да вы правы, моя задача отрисовывается графики в Metabase к базе ещё доступ не получил, отладить пока что сложно

Mike Chuguniy
22.01.2018
15:03:14
есть желание сделать из g?vim-а замену для pgadmin3 (с ограничениями в визуализации при работе в консоле без фреймбуфера) риторический вопрос: доктор, это лечится?!

Alexey
22.01.2018
15:03:39
зачем?

Mike Chuguniy
22.01.2018
15:04:50
ручонки чешутся. Да и у пгадмин3, насколько я могу судить, проблемы уже при работе с 9.6.

Mike Chuguniy
22.01.2018
15:07:55
а поподробнее? мы скоро апаемся
Народ много жаловался. Причём и здесь в чатике. С 10-й точно проблемы будут, потому что разработка переключилась на пгадмин4. насчёт 9.6 - это вот на уровне жалоб. А в 10-ке конкретно изменились имена некоторых системных ф-ий.

И тут же были ссылки и материалы, что нужно попатчить, чтобы 3-й пгадмин работал с 10-й.

Anton [Mgn, az09@osm]
22.01.2018
15:09:10
Вот такие функции нужно создать, чтобы pgadmin3 смог спокойно соединиться к PostgreSQL 10: create function pg_last_xlog_receive_location() returns text as $$ select pg_last_wal_receive_lsn()::text $$ language sql; create function pg_last_xlog_replay_location() returns text as $$ select pg_last_wal_replay_lsn()::text $$ language sql; create function pg_is_xlog_replay_paused() returns bool as $$ select pg_is_wal_replay_paused() $$ language sql;

Mike Chuguniy
22.01.2018
15:09:41
jupyter notebook?
Глянул мельком. Не, я таки за vim. :)

Alexey
22.01.2018
15:10:49
понятно

спасибо

Yaroslav
22.01.2018
15:32:18
Google
Mike Chuguniy
22.01.2018
15:33:56
Yaroslav это только коннектор. А надо - несколько окон, дерево баз, в некоторых окнах - по несколько табов, ну и всё такое прочее

Илья
22.01.2018
15:39:51
А чем sublime/vscode/atom с плагином для вима не устраивает ?

Mike Chuguniy
22.01.2018
15:42:26
Darafei
22.01.2018
15:42:50
а gvim в консоли?

Mike Chuguniy
22.01.2018
15:43:21
а gvim в консоли?
Я ж написал про ограничение визуализации в чисто текстовом режиме.

Alex
22.01.2018
15:54:32
зачем vim когда есть emacs с sql-mode ? ) в evil режиме конечно

Quet
22.01.2018
15:59:10
Alexey
22.01.2018
16:01:27
emacs always does things correctly! (c)

Aleksandr
22.01.2018
16:17:11
Darafei
22.01.2018
16:18:52
пишешь собаку, выпадает автокомплит, автокомплитишь тычком мыши

Aleksandr
22.01.2018
16:20:22
пишешь собаку, выпадает автокомплит, автокомплитишь тычком мыши
Я так понимаю, что с телефона не получится? И да, извините за оффтоп

Anton [Mgn, az09@osm]
22.01.2018
16:23:04
@space1flash с телефона пооффтоплю

просто если у человека нет ника, то по собаке только имя высвечивается

Aleksandr
22.01.2018
16:25:21
просто если у человека нет ника, то по собаке только имя высвечивается
Ааа, вот оно что. А я думал фишка в чём-то, вроде [Name](@username). Спасибо)

Anton [Mgn, az09@osm]
22.01.2018
16:25:59
а еще бывает интересно когда человек пытается некое инкогнито в телеге соблюсти с помощью только ника, а потом к нему обращается тот у кого он в контактах записан полным именем и это полное имя отображается вместо ника ))

Ghost
22.01.2018
17:49:56
Здравствуйте! Только начал знакомство с базами данных. Скачал клиент pgAdmin и как мне с помощью него создать базу данных? И этот клиент нормальный? Или есть лучше?

Александр
22.01.2018
17:53:09
Datagrip

Мне намного удобнее им пользоваться

Google
Александр
22.01.2018
17:54:00
Если работать с самими данными, а не администрирование

Ghost
22.01.2018
17:54:42
Если работать с самими данными, а не администрирование
ну мне нужен граф интерфейс для создания таблиц, просмотра их. Крч нужен аналог phpmyadmin для mysql

Что могли бы посоветовать?

Mykyta
22.01.2018
17:55:08
Выше же сказали датагрип

Vadim
22.01.2018
17:56:33
https://www.pgmodeler.com.br

Alex
22.01.2018
17:57:11
а pgModeler уже не сырой ?

Vadim
22.01.2018
17:57:32
Не идеал но работать можно

Александр
22.01.2018
18:00:11
https://tableplus.io вот еще, на первый взгляд удобно, но я его только устанавливал и минут 10 игрался

Ghost
22.01.2018
18:00:28
Спасибо

А получается всё же, что базу данных я создать не смогу через datagrip? Только приконнектиться ?

Ghost
22.01.2018
18:28:49
Сможешь
А сервер только через консоль?

Сергей
22.01.2018
18:29:16
Что значит сервер

Ну сам инстанс руками

Mike Chuguniy
22.01.2018
18:38:05
Всё остальное в vim-е и так есть, не так ли? ;)
Ну это остальное: а) в плюгинах, которые надо ставить, а не в ядре, и, что меня удивило, sqlutilities, у меня в генту в портежах не было, пришлось быстро-быстро накидать ебилд; :) б) после установки таки надо позаниматься рукоблудием, чтобы получить интерфейс, который хочется.

SQLUtilities - это вот это вот: http://www.vim.org/scripts/script.php?script_id=492

Mike Chuguniy
23.01.2018
02:43:23
Лёша, держать руки на парте - скучно, грустно и непродуктивно. У соседки под юбкой шариться - куда интереснее. Ну если говорить про за партой :D Но это лирика. У меня вопрос непраздный пгадмин уже умеет в терминале без X-ов?

Алексей
23.01.2018
02:51:38
В терминале без иксов умеет psql

Google
Алексей
23.01.2018
02:51:50
и pgcli

Mike Chuguniy
23.01.2018
02:53:54
Я хочу в терминале дерево баз/объектов баз, несколько окон, в которых по несколько табов. Если кто-то считает, что я хочу странного - я с тем совершенно прав.

Алексей
23.01.2018
02:54:50
Дерево в терминале... Действительно, странно

Ryzhikov
23.01.2018
05:54:44
tmux for tabs

or use emacs or vim ;)

Baira
23.01.2018
06:00:38
#вакансия #Москва #mangotelecom #postgreSQL Манго Телеком - лидер на рынке Виртуальных АТС, приглашает в свою команду разработчика баз данных Postgres. Требования : -высшее техническое образование -опыт работы программистом баз данных под СУБД Postgres или Oracle от 2-х лет -знание SQL, Pl/pgSQL, Pl/SQL - участие в разработке высоконагруженных систем Задачи: - написание модификации и оптимизация бизнес логики на уровне БД - оптимизация существующих программных модулей Условия : Белая заработная плата + премии( вилка до 220) Гибкий график работы Профессиональный и карьерный рост Бесплатные завтраки, фрукты, чай, кофе ДМС Английский язык Офис - м.Калужская, 5 мин ходьбы За подробностями в личку либо присылайте резюме - b.blinova@mangotele.com

Alex
23.01.2018
06:07:01
loki
23.01.2018
06:37:30
o_O на дедики иксы ставить и цеплятся по vnc? порноолимпиада среди нешколоты

Kolunchik
23.01.2018
06:38:40
adminer вроде как умеет postgres, хотя он конечно сам по себе не шибко удобен.

loki
23.01.2018
07:48:57
iotop через sshfs o_O

Mike Chuguniy
23.01.2018
07:52:27
sshfs же
Я еще про ssh-туннели знаю. Что не отменят того факта, что на всякое хитрое отверстие найдётся кол с винтом. А на кол с винтом найдется отверстие с лабиринтом. А собранная на плюгинах vim-оболочка - её в куда угодно протащить можно. за исключением случаев, когда какое-нибудь нано является редактором по-умолчанию, а наличие других зарублено на корню службой безопасности

Kirill
23.01.2018
07:55:31
Проблема. Запрос "лезет" во все партиции, если обращаться к родительской таблице через JOIN: https://wiki.postgresql.org/wiki/Join_optimization_for_inheritance_tables (не работает) https://stackoverflow.com/questions/17805077/postgresql-partitioning-with-joined-table-partition-constraint-not-used-in-que @funbringer, при разработке pg_pathman Вы не пробовали решать ее, есть ли обсуждения на эту тему?

Kirill
23.01.2018
08:02:40
Я правильно понял, что вас интересует join партицированной и обычной таблиц по ключу партицирования?
да, верно, этот кейс. WITH r AS (SELECT * FROM (values(1)) as r(id)) select * from r JOIN public.test_partitions tp ON tp.id = r.id;

Dmitry
23.01.2018
08:05:24
Для join партицированной и обычной таблицы в pg_pathman есть специальный узел плана (RuntimeAppend), который для каждой строки из левой таблицы выбирает соответствующую партицию. Вообще говоря, работает это и для join двух партицированных таблиц, но какой-то специальной оптимизации для этого случая мы не делали.

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