powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Голосуем за новые фичи PG
154 сообщений из 154, показаны все 7 страниц
Голосуем за новые фичи PG
    #37057860
web_fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Голосовать здесь

или предлагаем свои
Модератор: Ссылка переехала...
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37059804
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)Было бы неплохо, если бы INSERT/UPDATE/DELETE ... RETURNING <fields>
позволял использовать эти данные более наглядно, что ли.
Как, например, запихнуть удалённые айдишники во временную таблицу?
2)Было бы круто, если бы разрабы обновляли интерфейсы доступа к СУБД из языков в соответствии с фичами СУБД,
а то регулярно на косяки напарываемся.
3)Допиливание формата двоичного дампа, чтобы он был совместим между платформами и обратно совместим между версиями.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37059807
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, MERGE нужен по-любому, index-only-scans желательно
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37059820
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во, аццы, расскажите, а матвью в постгре уже есть? А то Ёу говорит, что есть , а вот я не верю.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37059858
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть, но через жопу. Так пойдет?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37059880
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneЕсть, но через жопу. Так пойдет?пойдёт :)
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37061131
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможность указывать алиас таблицы в INSERT как в UPDATE и SELECT, например:

INSERT INTO tablitsa t (a,b,c) VALUES (1,2,3) RETURNING t.a, t.b, t.c;
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37061134
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
математическая функция hypot(x, y)
Она есть в C math.h, очень удобно в геометрии юзать, ошибка меньше накапливается чем если через теорему Пифагора считать.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37061198
Фотография Asm64D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я голосовал за " pl/sql packages (like Oracle) ", считаю очень нужной вещью.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37061212
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Weedматематическая функция hypot(x, y)
Она есть в C math.h, очень удобно в геометрии юзать, ошибка меньше накапливается чем если через теорему Пифагора считать.Что мешает подключить как хранимку?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37061364
Фотография Росгоснанораспилтрест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Weedматематическая функция hypot(x, y)
Она есть в C math.h, очень удобно в геометрии юзать, ошибка меньше накапливается чем если через теорему Пифагора считать.

Так если есть - добавить её в Слона нет никакого труда. Пишешь свой C Extension - и всё отлично. Пишутся они очень легко, если хоть чуть-чуть знаешь С.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37061370
Фотография Росгоснанораспилтрест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А дальше можешь в Contrib пропихнуть...
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37061387
web_fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, только желаемые фичи не сюда надо писать, а по ссылке. Чтобы заказать свою фичу должен быть один свободный бал.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37061949
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
web_fox, проголосовал за:
index-only-scans - 1 голос
merge-upsert-replace - 3 голоса
better-administration-and-monitoring-tools - 3 голоса
add-deferred-option-to-check-constraints - 3 голоса
Первые две вещи явно назрели,
админ-приспособ много не бывает,
с необходимостью отложенных check-ов сталкивался, пришлось обходить с геморроем.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37063250
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

add-deferred-option-to-check-constraints - http://www.postgresql.org/docs/current/static/sql-set-constraints.html

ну вот так-то можно же уже. то что надо.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37063372
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://wiki.postgresql.org/wiki/Index-only_scans - вот это реально интересно
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37063477
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha Tyurin, Я имел в виду не ключи уникальности и не внешние ключи,
а именно CHECK (проверки) отложенные.
В 8.4 таких нет.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37063480
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

точно нету, надо значит)
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37063486
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha Tyurin,

но в самом общем виде есть теперь у нас вот такая штука http://www.postgresql.org/docs/9.0/static/sql-createconstraint.html и во там уже

DEFERRABLE
NOT DEFERRABLE
INITIALLY IMMEDIATE
INITIALLY DEFERRED

что не отменяет желания проверять обычные нотнулы и чеки в конце транзакций, всё верно
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37064198
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha Tyurin, Достаточно чеков, нот нул несложно эмулировать с их помощью,
но лучше, конечно, чтоб всё по-уму было, а не как у некоторых.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37064565
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://wiki.postgresql.org/wiki/Table_partitioning - вот еще полезное дело, на мой взгляд, затеяли
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37064716
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

автор1)Было бы неплохо, если бы INSERT/UPDATE/DELETE ... RETURNING <fields>
позволял использовать эти данные более наглядно, что ли.
Как, например, запихнуть удалённые айдишники во временную таблицу?
кстати, похоже что в 9.1 можно будет returning в cte юзать

http://archives.postgresql.org/pgsql-hackers/2011-01/msg01307.php
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37064775
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha Tyurin, да, сча оне ещё глобальные времянки допилят.
Во конкурентище-то растёт.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37064810
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

ситуация накаляется)
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37065913
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там есть вкладка "Completed ideas", это что, уже реализованные идеи? Например inplace upgrades с одной версии на другую без dump/restore уже работает?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37066200
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andron,

через pg_migrator. Но он еще сложный.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37066296
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andron,

http://www.postgresql.org/docs/9.0/static/pgupgrade.html

---

но потом полный аналайз нужен)
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37066988
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WeedВозможность указывать алиас таблицы в INSERT как в UPDATE и SELECT, например:

INSERT INTO tablitsa t (a,b,c) VALUES (1,2,3) RETURNING t.a, t.b, t.c;

Таки закатайте пожалуйста туда вот эту фичу? Это чистая косметика но она очень облегчает жизнь при написании рулесов.

У меня нету "баллов" или как их там, я вообще о сборе реквестов только от вас узнал.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37066994
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РосгоснанораспилтрестWeedматематическая функция hypot(x, y)
Она есть в C math.h, очень удобно в геометрии юзать, ошибка меньше накапливается чем если через теорему Пифагора считать.

Так если есть - добавить её в Слона нет никакого труда. Пишешь свой C Extension - и всё отлично. Пишутся они очень легко, если хоть чуть-чуть знаешь С.

Там какой-то математический фокус используется. То есть, она не использует теорему Пифагора а делает этот поиск как-то проще. Я не силён в математике.

И нельзя ведь Сишную hypot() использовать, numeric сильно точнее double
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37067463
web_fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Weed,

каждому персонально сразу даётся 10 балов и вам тоже :)

Нажимаете кнопочку VOTE напротив варианта, пишите меил какой-нить и имя и всё.
Давайте не ленитесь :)
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37067840
wbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотелось бы что-то типа select ... with timeout '1 sec'; на запрос и глобальную/сессионную опцию лимитирующую время выполнения запроса на бекенде . Добавьте плз, а то с инглишем туго, боюсь опозориться :)
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37067884
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wbear, ,Уже есть триггер на вьюху.
Там можно писать полноценный код c NEW OLD полями
и языковыми конструкциями без извратов.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37067887
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНwbear, ,Уже есть триггер на вьюху.
Там можно писать полноценный код c NEW OLD полями
и языковыми конструкциями без извратов.
это weed-у
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37068674
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wbear,
автори глобальную/сессионную опцию лимитирующую время выполнения запроса на бекенде
statement_timeout - http://www.postgresql.org/docs/9.0/interactive/runtime-config-client.html

внимательнее надо к этим вопросам относиться
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37068743
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha Tyurinwbear,
автори глобальную/сессионную опцию лимитирующую время выполнения запроса на бекенде
statement_timeout - http://www.postgresql.org/docs/9.0/interactive/runtime-config-client.html

внимательнее надо к этим вопросам относиться

я всякие таймауты контролирую на пгбоунсере http://pgbouncer.projects.postgresql.org/doc/config.html#_connection_sanity_checks_timeouts
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37068854
wbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой ё, таки опозорился :) , зато пропала уверенность в том, что доки я читал внимательно. спасбо
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37069161
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wbear, уточню.
http://www.pgadmin.org/development/changelog.php 2010-11-07 GL 1.14.0 Add support for 9.1 new kind of trigger: INSTEAD OF.
Это относится к вьюхам.
Подробнее тут
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37070712
wbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

да уже, в подпись поставь себе авторэто weed-у
:)
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37070777
Big Andy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andron,

По крайней мере так заявлено. Я, например не рискнул. Даже для тестовой БД.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37076956
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А скажите есть ли в PostgreSQL ограниченные режимы для базы? Например "административный" режим, допускающий работу только определенных пользователей с базой. Штука нужная думаю, и во многих базах она есть. Или например перевод в read-only режим, допускающий только чтение базы.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37076989
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andron,"административный" режим эмулируется подменой hba.conf
с соответствующими пользователями и reload-ом сервера.
Режим "только чтение", в частности, есть у slave-машин при репликации.
Надо просто перевести ПЖ в этот режим.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37077045
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

это не то. Представьте - надо перестартовать сервер, менять конфиги. Неудобно. Было бы неплохо делать это без перезагрузки и одной командой.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37077104
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andron, reload это не рестарт.
Вы можете написать скрипт, который это делает.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37086888
Игорь Куршаков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забросил идею насчет виртуальных столбцов по аналогии с виртуальными функциями классов.

Пусть столбец декларируется в предке, а определяется в наследниках - всякий раз по-разному.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37087302
Игорь Куршаков, что-то торможу сильно.
Можно пару примеров, когда это реально полезно?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37087363
Игорь Куршаков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПодпольщегИгорь Куршаков, что-то торможу сильно.
Можно пару примеров, когда это реально полезно?

Наследование таково, что наследник получает в наследство колонки предка.
А предок получает все записи наследника - но только те поля, что в нем определены.
К дополнительным полям, определенным в наследнике, у него нет доступа без дополнительных SELECT.

Суть идеи - чтоб доступ был к каким-то полям, которые определяются в наследнике как вычисляемые. Если есть запись от наследника, где поле не определено - то NULL.

То есть, мы работаем с предком и при этом оперируем какой-то инфой от наследников. Причем сразу. Причем с учетом партицирования через CHECK

Что касается примера, то http://www.sql.ru/forum/actualthread.aspx?tid=820849

В данном примере было иерархическое дерево с партицированием по типу узла. Благодаря тому, что все связи id-parent определяются на уровне предка, мы можем работать с деревом как с одной базой, хотя оно раскидано по таблицам типов узлов. Однако, для программы-клиента надо иметь строку с именем узла (чтоб построить дерево). А вот имя может быть разным, в зависимости от наследника. Имя вычисляемое, в зависимости от полей наследника.

И поскольку выборка из предка не дает нам полей наследников, то надо или делать дополнительный SELECT при выборке каждой записи дерева. Или делать поле-строку в предке и модифицировать ее триггерами, подвязанными к каждому наследнику.

В общем, или медленно или жирно.

Тогда как при реализованных виртуальных колонках можно было бы их задекларировать в предке, описать в наследнике и при запросах к предку сразу быстро вычислять и отдавать.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37207256
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне вот тут подумалось, что было бы очень не плохо иметь возможность в рамках кластера некоторые таблицы и/или индексы "принудительно" всегда держать в буферах.

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

причем можно было бы придумать либо ленивое туда залезание либо сразу при старте. либо ограничивать такой "невыгружаемый" пул буферов и в нём уже проводить ротацию или не ограничивать, пусть хоть всё сожрет.

как вам?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37207305
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha Tyurinв рамках кластера некоторые таблицы и/или индексы "принудительно" всегда держать в буферах.
+1
Очень было бы полезно. Подчас разовый сервисный запрос выбивает кеш, хотя его время исполнения совершенно не критично.
Вроде бы Oracle позволяет подкручивать параметры кширования per object.Где-то слышал...
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37207431
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tadmin,

неее.... немного не то. вот как раз "разовый" запрос ничего не "выбивает", ибо там двухуровневый механизм. есть очередь ограниченной длинны первого уровня ("тёпленькое") и уже сами лру буфера на втором (то, что в "горячее" пролезло). вот тут это почитать в частности можно http://www.sai.msu.su/~megera/postgres/talks/what_is_postgresql.html - Управление буферами в PostgreSQL - там есть параграф.

вот если много "сервисных" подряд - то да, они могут перекосить распределение. (вот через это можно смотреть http://www.postgresql.org/docs/9.0/static/pgbuffercache.html )

меня же больше такая ситуация беспокоит. вот, например, олтп база, много больше по размеру, чем оперативка, всё работает хорошо так как "рабочий" набор постоянно почти полностью в неё влазит, ну там страницы в нём ротируются - "древнее" "тонет", новое "всплывает". база хорошо настроена, всё мониторится, обслуживается, бекапируется, архивируется, реплицируется и прочее. работает годами.

и вот мы НЕ хотим НОВЫЙ кластер разворачивать, нам этот нравится, как всё там уже вокруг него классно сделано и всё на него настроено. но нам нужна новая фича, она требует чтобы небольшой быстрый индекс висел весь в памяти. запросы РЕДКИЕ и РЕНДОМНЫЕ к томуже по пробитию. но и требование, чтобы были максимально быстрыми всегда, без "прогревочного круга" - задача подстановок "налету".

прогревать всё руками по расписаниям - городить этого не хочется. вот и приходим к выводу разворачивать еще один постгресс - а это сразу несколько машин и обвязки и прочее. или писать собственные велосипедные "деревья" и "джины" со всеми вытекающими. жуть.

так что вот, в чем у меня вопросы возникли.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37207649
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tmpfs с триггерным управлением не пробовали?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37225410
truthwarden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, MERGE точно нужен
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37225493
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
truthwarden,

http://wiki.postgresql.org/wiki/SQL_MERGE - заняться будет нечем, может и прикрутят
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37237660
Фотография Judo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огласите список (здесь в топике), договоримся например что каждый может поставить по одному балу напротив каждой фичи (и у каждого например всего 3 бала в руке) и посмотрим что в итоге голосования получится....
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37253023
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё хочу иногда видеть сразу и результат запроса и его план... а то не охота по часу ждать аналайза в холостую
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37253304
Фотография Judo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha Tyurinещё хочу иногда видеть сразу и результат запроса и его план... а то не охота по часу ждать аналайза в холостую

в оракле аналайз строится налету без выборки данных анализируемой таблицы и ожидания.
А вот сама выборка дело другое и может занять прилично времени. Хотя есть еще компбик: аналайз с выборкой одновременно
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37253865
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JudoMisha Tyurinещё хочу иногда видеть сразу и результат запроса и его план... а то не охота по часу ждать аналайза в холостую

в оракле аналайз строится налету без выборки данных анализируемой таблицы и ожидания.
А вот сама выборка дело другое и может занять прилично времени. Хотя есть еще компбик: аналайз с выборкой одновременноЗдесь все то-же самое, кроме того, что нету комбинации и аналайз и данные. Хотя хотелось-бы. Это поможет, в некоторых случаях, узнать где надо сделать вакуум, а где и индекс построить ибо тормозим.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37254491
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneJudoпропущено...


в оракле аналайз строится налету без выборки данных анализируемой таблицы и ожидания.
А вот сама выборка дело другое и может занять прилично времени. Хотя есть еще компбик: аналайз с выборкой одновременноЗдесь все то-же самое, кроме того, что нету комбинации и аналайз и данные. http://www.postgresql.org/docs/current/static/auto-explain.html
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37254639
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЁшWarstoneпропущено...
Здесь все то-же самое, кроме того, что нету комбинации и аналайз и данные. http://www.postgresql.org/docs/current/static/auto-explain.html
ага, вспомнил, видел такую штуку, спасибо.

но мне, например, в логе не реально выискивать план, я через него все запросы пишу, гигабайты. хотелось бы что-то типа: в вывод - результат, в еррор - план, типа в виде нотайса. как-то так.

вот, например, к тому же модулю как то так бы вот сделали

SET auto_explain.куда_выдавать = 'как_нотайс'
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37254879
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha TyurinЁшпропущено...
http://www.postgresql.org/docs/current/static/auto-explain.html
ага, вспомнил, видел такую штуку, спасибо.

но мне, например, в логе не реально выискивать план, я через него все запросы пишу, гигабайты. хотелось бы что-то типа: в вывод - результат, в еррор - план, типа в виде нотайса. как-то так.

вот, например, к тому же модулю как то так бы вот сделали

SET auto_explain.куда_выдавать = 'как_нотайс'Что передавать в подключение клиенту — зависит от client_min_messages, можно так как-то сделать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
postgres=# load 'auto_explain';
LOAD
postgres=# set auto_explain.log_min_duration to '0ms';
SET
postgres=# set client_min_messages TO 'log';
SET
postgres=# select now();
LOG:  duration:  0 . 023  ms  plan:
Query Text: select now();
Result  (cost= 0 . 00 .. 0 . 01  rows= 1  width= 0 )
              now              
-------------------------------
  2011 - 05 - 11   13 : 41 : 17 . 835277 + 04 
( 1  row)
ну либо можно похакать auto_explain.c, изменить
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
			/*
			 * Note: we rely on the existing logging of context or
			 * debug_query_string to identify just which statement is being
			 * reported.  This isn't ideal but trying to do it here would
			 * often result in duplication.
			 */
			ereport(LOG,
					(errmsg("duration: %.3f ms  plan:\n%s",
							msec, es.str->data),
					 errhidestmt(true)));

на что-то типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
			/*
			 * Note: we rely on the existing logging of context or
			 * debug_query_string to identify just which statement is being
			 * reported.  This isn't ideal but trying to do it here would
			 * often result in duplication.
			 */
			ereport(NOTICE,
					(errmsg("duration: %.3f ms  plan:\n%s",
							msec, es.str->data),
					 errhidestmt(true)));

...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37254915
Фотография Judo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha TyurinЁшпропущено...
http://www.postgresql.org/docs/current/static/auto-explain.html
ага, вспомнил, видел такую штуку, спасибо.

но мне, например, в логе не реально выискивать план, я через него все запросы пишу, гигабайты. хотелось бы что-то типа: в вывод - результат, в еррор - план, типа в виде нотайса. как-то так.

вот, например, к тому же модулю как то так бы вот сделали

SET auto_explain.куда_выдавать = 'как_нотайс'

не знаю как в постгресе (но обязательно узнаю) но в оракле есть запись плана в лог
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37255148
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Едва ли это нужно еще кому-то, но я бы мечтал о хранении timestamp и username пользователя, который изменил ХП, view, таблицу
Если бы это еще и можно было писать в лога....
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37255155
Фотография Judo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tadminЕдва ли это нужно еще кому-то, но я бы мечтал о хранении timestamp и username пользователя, который изменил ХП, view, таблицу
Если бы это еще и можно было писать в лога....

клевая фишка, а еще бы повесить дефаулт-триггер на любую компиляцию и свою систему контроля версия заделать
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37255279
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш,

красота, точно! всё есть
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37414617
Bond_JamesBond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Поддержку FULL JOIN те только через merge join
2. Custom Window Aggregate Functions в которой можно делать 2 прогона, то есть сначала пробежать рассчитать одно значение, а потом еще раз пробежать и высчитать результат с учетом этого значения (понимаю что извращение, но хотелось бы)
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37511638
Artemiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недавно столкнулся с отсутствием возможности:
Код: plaintext
select count( distinct table.field ) over ( partition by ... ) from table

После Оракла это печалит весьма...
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37905275
avinog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поздновато я конечно сюда попал.

Мой опыт показал, что если архитектор системы идет на поводу у пользователей и пытается реализовать все их предложения, то на системе можно ставить крест :). Тем не менее выскажу идеи, реализация которых, на мой взгляд, может дать существенное конкурентное преимущество (в порядке убывания актуальности).

1. Возможность приоритезации операций ввода/вывода для различных пользователей
Скажем, есть пользователь, операции которого должны выполняться как можно быстрее. Его запросы определяют работоспособность системы в целом. Например в телефонии, это будут запросы связанные с идентификацией, авторизацией, маршрутизацией, горячим биллингом. Но запросы связанные с генерацией отчетов, выставлением счетов, должны выполняться в "фоновом" режиме.
"Дождливый" селект должен приостанавливаться, если во время его исполнения поступил более приоритетный запрос.

В Оракле есть возможность выставить приоритеты пользователям для доступа к процессору системы, но эта возможность бесполезна, поскольку узким местом, как правило, является не вычислительная мощность системы, а операции ввода/вывода. Установив, скажем пользователю квоту в 1% процессорного времени проблема решена не будет. Эта квота будет играть роль, только тогда, когда проц загружен больше 99%, а если он загружен на 30%, то при поступлении низкоприоритетного запроса, система выделит ему все свободные 70%, что совершенно правильно.

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

2. Отмена требования по удалению объектов, зависимых от модифицированного объекта
Согласитесь, было бы странно, если бы при модификации таблицы (добавление/удаление столбца, изменение типа данных) или даже при ее удалении (при пересоздании), система бы требовала удалить все хранимые процедуры и объекты, зависящие от неё.

Но это считается нормальным при работе с объектами. В результате, крайне ограниченное их использование (только при полной безысходности) в силу чрезвычайного неудобства работы с ними. Если так сделано в Оракле, то это совсем не значит, что также должно быть сделано и в PG.

3. PL/PgSQL. Реализация возможности циклического перебора элементов записи или атрибутов объекта
Что-то подобное этому:
Код: plaintext
1.
2.
FOR target_anyelement IN [record|object] LOOP
...
END LOOP

а еще лучше осуществить доступ к ним по "индексу".

Редко, но бывает нужно, при построении гибких систем, особенно, когда у заказчика исторически имеются таблицы с числом колонок больше сотни. Конечно, последовательный доступ к колонкам можно получить, используя имеющиеся средства, но все это настолько криво, а посему очень медленно...
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37905329
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avinogПоздновато я конечно сюда попал.

Мой опыт показал, что если архитектор системы идет на поводу у пользователей и пытается реализовать все их предложения, то на системе можно ставить крест :). Тем не менее выскажу идеи, реализация которых, на мой взгляд, может дать существенное конкурентное преимущество (в порядке убывания актуальности).

1. Возможность приоритезации операций ввода/вывода для различных пользователей
Скажем, есть пользователь, операции которого должны выполняться как можно быстрее. Его запросы определяют работоспособность системы в целом. Например в телефонии, это будут запросы связанные с идентификацией, авторизацией, маршрутизацией, горячим биллингом. Но запросы связанные с генерацией отчетов, выставлением счетов, должны выполняться в "фоновом" режиме.
"Дождливый" селект должен приостанавливаться, если во время его исполнения поступил более приоритетный запрос.

В Оракле есть возможность выставить приоритеты пользователям для доступа к процессору системы, но эта возможность бесполезна, поскольку узким местом, как правило, является не вычислительная мощность системы, а операции ввода/вывода. Установив, скажем пользователю квоту в 1% процессорного времени проблема решена не будет. Эта квота будет играть роль, только тогда, когда проц загружен больше 99%, а если он загружен на 30%, то при поступлении низкоприоритетного запроса, система выделит ему все свободные 70%, что совершенно правильно.

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

2. Отмена требования по удалению объектов, зависимых от модифицированного объекта
Согласитесь, было бы странно, если бы при модификации таблицы (добавление/удаление столбца, изменение типа данных) или даже при ее удалении (при пересоздании), система бы требовала удалить все хранимые процедуры и объекты, зависящие от неё.

Но это считается нормальным при работе с объектами. В результате, крайне ограниченное их использование (только при полной безысходности) в силу чрезвычайного неудобства работы с ними. Если так сделано в Оракле, то это совсем не значит, что также должно быть сделано и в PG.

3. PL/PgSQL. Реализация возможности циклического перебора элементов записи или атрибутов объекта
Что-то подобное этому:
Код: plaintext
1.
2.
FOR target_tanyelemen IN [record|object] LOOP
...
END LOOP

а еще лучше осуществить доступ к ним по "индексу".

Редко, но бывает нужно, при построении гибких систем, особенно, когда у заказчика исторически имеются таблицы с числом колонок больше сотни. Конечно, последовательный доступ к колонкам можно получить, используя имеющиеся средства, но все это настолько криво, а посему очень медленно...

1)ionice в кроне раз в минуту и разделение отчетных и приоритетных пользователей + pgbouncer чтобы коннекты жили эту проблему более менее решает. Отчеты живут с ionice -c 3 (вместе с autovacuum/pg_dump и прочими некритичными к скорости IO вещами).
Но вообще использование ssd делает эту задачу малоактуальной.

3)вероятно не будет сделано никогда так как target_tanyelement не может иметь разные типы... pl/pgsql архитектурно не умеет работать с полиморфными переменными (и не будет уметь). Так что я бы на это не расчитывал. Да и hstore workaround не такой уж ужасный на практике.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37905927
avinog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим, спасибо за советы и оперативный ответ.

Maxim Boguk1)ionice в кроне раз в минуту и разделение отчетных и приоритетных пользователей + pgbouncer чтобы коннекты жили эту проблему более менее решает. Отчеты живут с ionice -c 3 (вместе с autovacuum/pg_dump и прочими некритичными к скорости IO вещами).
Но вообще использование ssd делает эту задачу малоактуальной.
В свое время эту задачу пытались решить для Оракла путем использования ionice для задания приоритетов процессам ввода/вывода - неудачно. Для этого необходимо связать процессы ввода/вывода с пользователями, а они принадлежат одному пользователю - Oracle. Может в отношении PG я ошибаюсь. Наконец, есть еще виндовые пользователи.
И pgbouncer не поможет. Достаточно пары "красивых" селектов.

Короче, система должна быть удобной.

Maxim Boguk3)вероятно не будет сделано никогда так как target_anyelement не может иметь разные типы... pl/pgsql архитектурно не умеет работать с полиморфными переменными (и не будет уметь). Так что я бы на это не расчитывал. Да и hstore workaround не такой уж ужасный на практике."вероятно не будет сделано никогда" - и не надо). С hstore я прокололся. Я их использовал на 8-ке и там функций типа hstore(record) еще не было. Спасибо, посмотрел документацию ). Помнится с ними была какая-то проблема связанная с производительностью, сейчас не вспомню, нашел какой-то workaround, чтобы они работали быстро.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37905948
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avinogМаксим, спасибо за советы и оперативный ответ.

Maxim Boguk1)ionice в кроне раз в минуту и разделение отчетных и приоритетных пользователей + pgbouncer чтобы коннекты жили эту проблему более менее решает. Отчеты живут с ionice -c 3 (вместе с autovacuum/pg_dump и прочими некритичными к скорости IO вещами).
Но вообще использование ssd делает эту задачу малоактуальной.
В свое время эту задачу пытались решить для Оракла путем использования ionice для задания приоритетов процессам ввода/вывода - неудачно. Для этого необходимо связать процессы ввода/вывода с пользователями, а они принадлежат одному пользователю - Oracle. Может в отношении PG я ошибаюсь. Наконец, есть еще виндовые пользователи.
И pgbouncer не поможет. Достаточно пары "красивых" селектов.

Короче, система должна быть удобной.


crontab -l
...

* * * * * ps -u postgres x | grep -E 'autovacuum|COPY|pg_dump|cron_role|report_role' | grep -v grep | perl -pe 's/^\s*(\d+) .*$/$1/' | xargs --no-run-if-empty -I $ ionice -c 3 -t -p $

куда уж проще то...

+ pgbouncer чтобы коннекты от cron_role и report_role жили более менее перманетно с выставленным ionice уже...
пользуюсь тем что в ps -u postgres x есть имя пользователя подключенного к базе

29841 ? Ss 0:07 postgres: cron_role somedb [local] idle
30072 ? Ss 0:04 postgres: report_role somedb [local] idle
...

Таким образом в 99% случаев любой запрос от cron_role или report_role уже идет с низким IO priority


PS: windows + Pg в production использовать НЕ НАДО.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37906279
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Bogukcrontab -l
...

* * * * * ps -u postgres x | grep -E 'autovacuum|COPY|pg_dump|cron_role|report_role' | grep -v grep | perl -pe 's/^\s*(\d+) .*$/$1/' | xargs --no-run-if-empty -I $ ionice -c 3 -t -p $

куда уж проще то...Я что, опять отмонтировать забыла?!!
(С) Анекдот.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #37906304
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
perl -pe 's/^\s*(\d+) .*$/$1/'
можно на
Код: plaintext
awk '{print $1}'
поменять наверное
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38223473
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обещают матвью в 9.3 кажись
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38223480
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь начал использовать EXTENSION'сы в разработке?
Можно ли стало запросом получить дерево зависимостей расширений,
или лазать по манифестам надо?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38223805
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН, ну зависимости там какие-то есть, не знаю правда какие :)

Код: sql
1.
select * from pg_depend where 'pg_extension'::regclass in (classid, refclassid);
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38244127
DRVTiny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Логи изменений в базе в виде SQL-запросов, которые можно было бы применить к базовому бэкапу в SQL-формате и получить результирующую базу на момент времени N.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38381935
DarkHobbit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Bogukwindows + Pg в production использовать НЕ НАДО.
Кстати, а можно обосновать, почему?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38381945
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkHobbitMaxim Bogukwindows + Pg в production использовать НЕ НАДО.
Кстати, а можно обосновать, почему?

Win не нативная для базы платформа... это как Mssql пытаться на Linux отпортировать...
В итоге постоянная куча проблем которые на unix платформах не наблюдаются в принципе
(да их можно обойти в теории... но всеравно проблемы).

Классическая ситуация до появления pg_terminate_backend - как на винде снять рабочий коннект к базе...
на unix просто - kill -TERM pid
А на Win упс без плясок с бубном... снятие через process manager - эквивалент kill -KILL pid и вызывает рестарт базы...
Проблемы с правами на директории... проблемы с логами и ротацией...
Проблемы с выделением памяти... в общем много всего...
Под низкой нагрузкой это все работает... а когда надо максимум из железа выжать - начинаются грабли.

PS: это не значит что принципиально нельзя использовать Pg под Win... просто стоит ожидать сильно больше неожиданных проблем на ровном месте по мере роста нагрузки.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38635952
andrei-k23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать динамический курсор как в MS Access!
Чтобы можно было один раз выполнить общий запрос, а потом курсором в нем искать все что нужно. А не как сейчас можно только перемещать курсор максимум на заданное число строк...
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38668754
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrei-k23Сделать динамический курсор как в MS Access!
Чтобы можно было один раз выполнить общий запрос, а потом курсором в нем искать все что нужно. А не как сейчас можно только перемещать курсор максимум на заданное число строк...
для чего? поясните на примере
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38692085
PCContra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто поддержит такую "фичу":
array foreign key - чтобы была возможность добавит внешний ключ к массиву
?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE a(
   id INT PRIMARY KEY
);

CREATE TABLE b(
   x INT PRIMARY KEY, 
   ids INT[] REFERENCES a
);


?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38692107
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bond_JamesBond1. Поддержку FULL JOIN те только через merge join
2. Custom Window Aggregate Functions в которой можно делать 2 прогона, то есть сначала пробежать рассчитать одно значение, а потом еще раз пробежать и высчитать результат с учетом этого значения (понимаю что извращение, но хотелось бы)
1. Must have
2. Этож просто обернуть подзапросом первую можно, не?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38736477
Izya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда-то обещали при наследовании таблиц индексы сделать так, что бы они и на подтаблицы распространялись. Наследование таблиц бывает нужным, но без индексов - это гарантированные тормоза (как часто бывает - идея хорошая, но из-за кривой реализации ею никто не пользуется). Есть движение в этом направлении?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38853521
hattifattener
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рискну предложить рекурсивную операцию смены пользователя для групп сущностей.
Вроде
Код: sql
1.
CHOWN [user] [database|schema|table|...] [name]
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38999592
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валидация функций и расширений
Очень поможет избегать ошибок в критичных приложениях.
У каждой функции при коммите будет проверяться статус, если она validate, то проверяются объекты на существование, validate,
статус valid,отсутствие DDL и динамического SQL, если сохраняемая функция invalid, то рекурсивно по зависимостям делаются
такими же все расширения и функции, которые зависят от оной.
Эта фича зависит от global temporary tables как в oracle.
Голосуйте.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38999595
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН Валидация функций и расширений
Очень поможет избегать ошибок в критичных приложениях.
У каждой функции при коммите будет проверяться статус, если она validate, то проверяются объекты на существование, validate,
статус valid,отсутствие DDL и динамического SQL, если сохраняемая функция invalid, то рекурсивно по зависимостям делаются
такими же все расширения и функции, которые зависят от оной.
Эта фича зависит от global temporary tables как в oracle.
Голосуйте.а как бы вас там заминусовать ?
ара--калоеды, такие калоеды, ара
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38999661
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqа как бы вас там заминусовать ?
ара--калоеды, такие калоеды, ара
По-хорошему, минусят именно за такие посты, ну да пофиг.
Не вопрос - там есть такая кнопочка <delete>.
Вы, батенька, убедительно доказываете, почему предложение плохое
и чем будет реализация мешать остальным. Докажете - выпилю.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38999677
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНqwwqа как бы вас там заминусовать ?
ара--калоеды, такие калоеды, ара
По-хорошему, минусят именно за такие посты, ну да пофиг.
Не вопрос - там есть такая кнопочка <delete>.
Вы, батенька, убедительно доказываете, почему предложение плохое
и чем будет реализация мешать остальным. Докажете - выпилю.


предложение никакое
до тех пор, пока его не внедрят в лучших традициях -- "как всегда"

а вот если "инвалид" не даст мне запустить эту функцию -- то оно ещё и вредное.
например в ф--ии что-то типа
Код: sql
1.
2.
3.
IF FALSE THEN
   SELECT my_invalid_fun(...)
ELSE

где вместо false -- не выполняющиеся при сегодняшних данных условия
-- я нормально оставлю эту функцию работать, починю другую, и всё будет удобно и без необходимости дёргаться, только из-за того, что какие-то ушлёпки продавили лишнюю функциональность

но если по-человечески будет просто информировать -- то да и хрен с ним.

к тому же вы наверное конкретный pl имеете в виду ? или вы на всех языках собираетесь отслеживать валидность ?


а вот то, что при удалении наследника из иерархии [NO INHERIT] или при его дропе -- в конкурирующих транзакциях вылетает ошибка [как было в 7-ке после дропа индекса], и , кому надо, знают об этом N лет, и там конь не то, что не валялся, но и не собирается валяться -- вот это херово. И такого "херово" можно ещё понасобирать.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38999688
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwq, если б вы были внимательнее, то наверняка б увидели, что на этот случай,
если вы не хотите пользоваться валидацией, при создании функции говорите
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE FUNCTION namefunc(...)
$$
DECLARE
...
BEGIN
...
END
$$
...
NOT VALIDATE;


По умолчанию такое поведение можно запилить.
И функция ведёт себя так же, как сейчас.
И даже старый код так же себя будет вести.
Хотите работать в прежнем режиме - не устанавливайте validate.
Думаю, не на всех процедурных языках этот механизм можно сделать,
подозреваю, только на жёстко типизированных, как pl\pgsql
Как вариант - на тех, что нельзя - принудительно задавать флаг валидности функции true,
чтоб не рушилось ничего, а эту опцию при создании функции делать validate.
ЗЫ
В оракле, насколько мне известно, с конкурирующими созданиями функций вообще всё плохо.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38999740
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хочу INSERT ON DUPLICATE UPDATE
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38999759
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bochkovхочу INSERT ON DUPLICATE UPDATE
дык, в 9.5 уже будет.
Что толку хотеть?
Хотеть надо чего-то другого, например того, что я тут насочинял.
Или двоичный бэкап инкрементальный, совместимый обратно начиная с какой-то определённой версии и выше.
БэДээРки.
Вотки тоже можно хотеть)))
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38999765
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще хочу возможность по запросу получать предыдущую или следующую запись
согласно сортировки выбранного индекса
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38999800
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хочу параметр, ограничивающий максимальную длину запроса/выражения в логах. типа log_max_query_size. при превышении значения чтобы обрезалась запись.

полезно для защиты от засорения логов особо одаренными личностями, передающими миллион id в выражении IN, например. или bulk insert запросами вместо copy. или километровыми запросами с case выражениями. или еще чем, тут фантазия безгранична.

стоит ли куда-то писать или уже обсуждалось? сделать наверное не сложно.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38999859
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНqwwq, если б вы были внимательнее, то наверняка б увидели,
а я и видел, но опасаюсь зазора меж задумкой и реализацией ("как лучше" vs "как всегда")

и да, немного вспылил, "вёл себя недостойно звания савецкага афицера"

ОКТОГЕНВ оракле, насколько мне известно, с конкурирующими созданиями функций вообще всё плохо.это, насколько я понимаю, разница между интерпретацией и компиляцией. т.е. строгая валидация [при компиляции] в оракле -- неизбежность, а не фича.

могу врать, ессно. [ имхо, составленное с чужих слов и из общих соображений ]
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #38999906
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwq, в PG делают лучше всё))) Как-то всё ладно скроено, по стандартам и предсказуемо.
Работа с последовательностями в PG намного удобнее сделана, нежели в красном конкуренте.
Там никаких SERIAL, никаких DEFAULT nextval('nameseq') в столбцах. Всё на триггерах, ручками.
Пустая строка к NULL не приравнивается, а как в стандарте.
WITH опять же, как надо, да ещё и returning можно выводить.
Это то что вспомнил, наверняка если покопаться - можно найти ещё каких-нибудь корок или залипух.
Подозреваю, что INSERT ... ON CONFLICT в 9.5 тоже лучше сделали.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39000252
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКак-то всё ладно скроено, по стандартам и предсказуемо.
вот это и надо поддерживать.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39029196
akhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JOB-ы
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39029652
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
боюсь спросить, а аналог ораклового model есть в pg?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39029700
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roadsterбоюсь спросить, а аналог ораклового model есть в pg?

А вы расскажите что это такое за зверь. Тут далеко не все в Oracle спецы.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39032910
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim BogukТут далеко не все в Oracle спецы.
я думал здесь есть те, кто мигрировал с оракла.
Maxim BogukА вы расскажите что это такое за зверь.
вот здесь написано подробно http://docs.oracle.com/cd/B19306_01/server.102/b14223/sqlmodel.htm
ну и пример от туда же
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT SUBSTR(country, 1, 20) country, 
      SUBSTR(product, 1, 15) product, year, sales
FROM sales_view
WHERE country IN ('Italy', 'Japan')
MODEL
  PARTITION BY (country) DIMENSION BY (product, year)
  MEASURES (sales sales)
  RULES 
  (sales['Bounce', 2002] = sales['Bounce', 2001] + sales['Bounce', 2000],
   sales['Y Box', 2002] = sales['Y Box', 2001],
   sales['All_Products', 2002] = sales['Bounce', 2002] + sales['Y Box', 2002])
ORDER BY country, product, year;


смысл в следующем - задаём партицию, определяем измерения и правила расчёта измерений, для которых данные не хранятся.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39032911
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и всё это в едином запросе.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39033356
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
model что-то вроде расчетов excel-листа. Вещь достаточно специфичная и трудновоспринимаемая в реляционных реалиях, к тому же, не имеет нормальной относительной адресации ячеек, что иногда требует замешивания с аналитическими row_number() over().
Появилась еще в 10г, но на практике крайне редко применяемая. Разве что для замены with-рекурсии, появившейся в более поздней версии (древнеоракловая connect by-рекурсия не позволяет работать с накопительными счетчиками). Функционал model можно процедурно выразить pipelined-функциями, но в оракле переключение plsql-контекста очень дорого и реализация функцией более громоздка, так как требует отдельного создания объектного и табличного типов. Полагаю, что для postgresql реализация функцией будет достаточно эффективной, чтобы не заморачиваться с экзотикой model. Хотя тут тогда хотелось бы иметь возможность применять with-function непосредственно в запросе, то есть без создания хранимки.
Описание model http://docs.oracle.com/database/121/DWHSG/sqlmodel.htm

В оракле 12ц появилась более достойная реализации фича match_recognize, позволяющая оперировать последовательностью упорядоченных данных. Заменяет многовложенные подзапросы с оконными функциями на более лаконичные и формализованные на более подходящем для описания серий данных языке паттернов, накопительных показателей и агрегатов. Типичное применениe - выделение пиков/спадов/подъемов и прочих групп в серии. Такого рода аналитика ближе по духу к реляционным СУБД и потребность в ней возникает почаще modelных inter-row calculations.
Описание http://docs.oracle.com/database/121/DWHSG/pattern.htm
Примеры задач на sql.ru:
Сброс суммы при превышении порога 17674425
Периоды положительного баланса 15515818
Маршрут из точки А в точку Б 15981735
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39131998
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не хватает условий в оконных функциях.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39132003
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Legushkaне хватает условий в оконных функциях.
например?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39132073
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чего мне нехватает, так планера который бы учитывал FOREIGN KEY как CONSTRAINT при создании планов для запросов. например для запросов которые идут на таблицы с наследниками.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39145686
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читаю http://habrahabr.ru/post/274659/
BRIN-индексы


когда--то пытался понять, ускорит ли такое индексирование поля xmin [напр -- по условию where xmin <>2] вакуумирование "to prevent wrapparrond" больших баз, большая часть которых архивна, а в меньшей идёт активная жизнь. навскидку казалось, что должно. и существенно. (сейчас оно периодически молотит старые таблицы неделями).

нет ?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39146426
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwq,

Хитро заходишь. Узнаешь ответ - поделись.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39146451
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Лузанов,

кто из нас двоих работает в геркулесе постгрес--проффешенле?

я от вас хотел узнать, не приделали ли подобную БРИНУ штуковину к прокрутке frize-уемых объектов на предмет необходимости выставления в 2-ку. Чтобы значит целые блоки можно было не читать.
кажется что именно отсюда должна была родиться идея БРИН, а не наоборот.

уж очень оно на больших активно пишущих (в малую часть) базах накладно -- всё растущую базу на предмет фриза всё время прокручивать.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39146715
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqне приделали ли подобную БРИНУ штуковину к прокрутке frize-уемых объектов
Не сомневаюсь, что не приделали.
А вот может ли помочь - это надо посмотреть.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39157394
PCContra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Postgres пока (версия 9.5) не умеет сравнивать тип данных JSON друг с другом
ЖДУ.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39157463
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqПавел Лузанов,

кто из нас двоих работает в геркулесе постгрес--проффешенле?

я от вас хотел узнать, не приделали ли подобную БРИНУ штуковину к прокрутке frize-уемых объектов на предмет необходимости выставления в 2-ку. Чтобы значит целые блоки можно было не читать.
кажется что именно отсюда должна была родиться идея БРИН, а не наоборот.

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

В эту сторону смотрят активно:
http://www.postgresql.org/message-id/flat/CAD21AoDOc-m0WQiJjEjYKkUhF8S8VDg06G6cFqjSBz1R1LEMQw@mail.gmail.com#CAD21AoDOc-m0WQiJjEjYKkUhF8S8VDg06G6cFqjSBz1R1LEMQw@mail.gmail.com]http://www.postgresql.org/message-id/flat/CAD21AoDOc-m0WQiJjEjYKkUhF8S8VDg06G6cFqjSBz1R1LEMQw@mail.gmail.com#CAD21AoDOc-m0WQiJjEjYKkUhF8S8VDg06G6cFqjSBz1R1LEMQw@mail.gmail.com
Весьма вероятно что в 9.5 это войдет (во всяком случае я на это надеюсь).

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39157466
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PCContraPostgres пока (версия 9.5) не умеет сравнивать тип данных JSON друг с другом
ЖДУ.

Если вам по строго равенству то ::text = ::text вас вполне спасет.
Или вы что то другое имеете в виду?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39157552
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim BogukPCContraPostgres пока (версия 9.5) не умеет сравнивать тип данных JSON друг с другом
ЖДУ.

Если вам по строго равенству то ::text = ::text вас вполне спасет.
Или вы что то другое имеете в виду?
а вот hstore хотя бы всегда упорядочивает пары по ключам. т.е. там это был бы правильный финт ушами. А в жейсоне в 9.4 не похоже чтобы в узлах хотя бы по ключам упорядочивало. м.б. в jsonb оно как--то лучшее чуть ?

короче -- тьху на него три раза. и популейтит он через раз. и сравнения на нём кривые. и вообще.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39158568
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвероятно что в 9.5 это войдет

Максим, в 95 точно не вошло уже. может в 97...
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39166279
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В pg есть двоичный формат резервной копии.
Реально не хватает возможности просмотра дампа вовнутрь
1)Просмотра списка объектов и их структуры
2)Возможности просмотра данных таблиц, и/или экспорта этих данных в
CSV/SQL
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39166285
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНВ pg есть двоичный формат резервной копии.
Реально не хватает возможности просмотра дампа вовнутрь
1)Просмотра списка объектов и их структуры
2)Возможности просмотра данных таблиц, и/или экспорта этих данных в
CSV/SQL

Вы о:
Код: plaintext
1.
2.
3.
pg_restore -F c --list my.dymp
pg_restore -F c -s --file=dbshema.sql my.dymp
pg_restore -F c --table=mytable --file=mytable.sql  my.dump
?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39189704
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Лузановqwwqне приделали ли подобную БРИНУ штуковину к прокрутке frize-уемых объектов
Не сомневаюсь, что не приделали.

Приделали карту заморозки страниц, в которую смотрит vacuum. В 9.6 будет.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39205324
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а чо, уважаемые, будут ли нормальные "родные" автономии в plpgsql , чтобы ,значит, в дереве локов всё, и дедлоки снимались?

что--то мой склероз меня подводит. вроде как обещаны. а полез искать -- по autonomous -- нихт.
у авторов полнотекста на "пж.про" так ващще поиск по сайту не найден (наверное плохо искал) -- буэ
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39235806
Серджио
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Было бы неплохо использовать подзапросы в CHECK
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39235818
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серджио,

Триггер напиши, и будет нужный функционал. Вообще в каких-то СУБД в CHECK можно писать подзапрос?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39235865
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СерджиоБыло бы неплохо использовать подзапросы в CHECKнет смысла в декларативности ограничения, которое зависит от стечения закомиченности данных на какой-то момент.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39239951
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ЛузановПавел Лузановпропущено...

Не сомневаюсь, что не приделали.

Приделали карту заморозки страниц, в которую смотрит vacuum. В 9.6 будет.
"возвращаясь к напечатанному"

появилась статейка ПгП.
https://habrahabr.ru/company/postgrespro/blog/301238/

++:
1 полезна как пальцевая для админов, борющихся с фризом
2. кажется будет ещё одна припарка незначительная (см в тексте про тхид самого факьюма) -- думаю -- пустое. но и статья пустовата

--:
1. не затронута разница read only и пишущих
2. выпал из внимания момент, когда именно транза получает тхид (становится пишущей)
3. ничего не сказано о номерах "сабтранзакций" (рост xmin за сейвпойнтами == в блоках исключений) -- т.е. выпадает из понимания полезность новых фичь, позволяющих делать то же, что раньше, но без блоков обработки (того же мерджа). -- а это уже важно для кодеров --если у вас данное приходит пачками по 1000/транзакцию, и каждое -- обрабатывается в хранимке (or триггере) в блоке исключения -- у вас счётчик вырастет на 1000. если же вам удастся вытеснить блок на задворки -- только для редких случаев -- счетчик, за весь пакет, возрастет всего на законную единичку -- сейвпойнтов--то нет.

ну и т.п.


но для админов, в качестве пальцевой иллюстрации самого механизма -- очень пользительно, я щетаю. т.ч. рекомендую.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39240415
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwq1. не затронута разница read only и пишущих
2. выпал из внимания момент, когда именно транза получает тхид (становится пишущей)
3. ничего не сказано о номерах "сабтранзакций" (рост xmin за сейвпойнтами == в блоках исключений) -- т.е. выпадает из понимания полезность новых фичь, позволяющих делать то же, что раньше, но без блоков обработки (того же мерджа). -- а это уже важно для кодеров --если у вас данное приходит пачками по 1000/транзакцию, и каждое -- обрабатывается в хранимке (or триггере) в блоке исключения -- у вас счётчик вырастет на 1000. если же вам удастся вытеснить блок на задворки -- только для редких случаев -- счетчик, за весь пакет, возрастет всего на законную единичку -- сейвпойнтов--то нет.

Про это есть в теме 3 "Страницы и версии строк":
http://www.postgrespro.ru/education/courses/DBA2

Там можно презентацию и видео найти.
Конструктивная критика будет очень полезна.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39327066
Насяльника
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CLUSTER
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39335824
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lonepsychoчего мне нехватает, так планера который бы учитывал FOREIGN KEY как CONSTRAINT при создании планов для запросов. например для запросов которые идут на таблицы с наследниками.
Это ? (Третий пункт в списке.)
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39336103
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorovLonepsychoчего мне нехватает, так планера который бы учитывал FOREIGN KEY как CONSTRAINT при создании планов для запросов. например для запросов которые идут на таблицы с наследниками.
Это ? (Третий пункт в списке.)

похоже, что на это намекают. будем тестировать, посмотрим. интересно какой план будет построен.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39354209
Фотография MMM_Corp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
очень хочу профайлер как в mssql, жуть как не хватает..... эм... а может уже такой есть?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39450684
ЖEHbKA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMM_Corpочень хочу профайлер как в mssql, жуть как не хватает..... эм... а может уже такой есть?

log_min_duration_statement = 0


Показывает сразу BIND - это очень удобно.

Жаль что все пишет, фильтр делать нельзя.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39450686
ЖEHbKA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я хочу чтобы постгрес мог сам запускать в себе задания по расписанию, без зависимости от ОС.

Где за такое проголосовать?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39479143
Alex__kK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Хочу автономки как в оракле
2. Хочу шедулер поддерживаемый бд а не отдельностоящий костыль
3. Хочу чтобы в pg_dump, когда экспортируешь только данные из таблички, можно было бы задавать условие (аналог QUERY в expdp в оракле)
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39479154
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
insert .. on conflict работает
только с одним ограничением
хочу чтобы все конфликты умел перехватывать
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39504634
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не нашол в предложениях
index organized table

неужто никому не надо ?

хотя лучше что--то типа:
Код: sql
1.
create index on /*!not materialized!*/ VIEW



-- типа излишнюю нормализацию бороть без излишне тяжолых рукопашных структур. /* лично мне это интересно на подвернувшемся EAV-е посмотреть */

//за неимением сошол бы и ИОТ -- я бы триггерами сам обвесился .
------
зы.
имею аберрацию памяти, что где--то тут давно видел прямой селект из индекса , и даже пробовал якобы сам -- и получалось. но найти не удаётся. а пж честно отвечает: 42809.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39504780
PgSQLanonymous3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqне нашол в предложениях
index organized table
неужто никому не надо ?
https://www.postgresql.org/message-id/9362e74e1002211111n533646c8q8b5c074568267f04@mail.gmail.com
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39504858
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PgSQLanonymous3qwwqне нашол в предложениях
index organized table
неужто никому не надо ?
https://www.postgresql.org/message-id/9362e74e1002211111n533646c8q8b5c074568267f04@mail.gmail.com]https://www.postgresql.org/message-id/9362e74e1002211111n533646c8q8b5c074568267f04@mail.gmail.com
вот я про это:
https://www.postgresql.org/message-id/407d949e1002220229w1e781755jd1754dbf94201ba7@mail.gmail.com > > a) IOT has both table and index in one structure. So no duplication of data
-- мне для рукопашной реализации "index on join" в EAV , поскольку горничной нет. и лишняя куча данных мне в корень не упёрлась. я бы даже на отложенный сбор мусора согласился, ага. т.е. видеть лишнее старое.

вообще говоря где--то "индексы на join--ы" (назовём их "jindex") реализованы ? так чтобы несколько указателей на несколько записей одной или нескольких таблиц. и чтобы планировщик умел их иметь в виду ?

тосты ведь как--то [в индекс//по индексу] подтягиваются, тут примерно та же техника потребуется. нет ?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39504864
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PgSQLanonymous3,

"не нашёл" имелось ввиду здесь:
web_fox Голосовать здесь

или предлагаем свои


типа как тут
https://postgresql.uservoice.com/forums/21853-general/suggestions/1378161-insert-nowait-update-nowait
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39504915
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
до сих пор жду
нормальный, поддерживающий
множественные ограничения
insert ... on conflict ...
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39505331
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bochkovдо сих пор жду Он опять поспал немножко
И опять взглянул в окошко,
Увидал большой вокзал,
Потянулся и сказал:
...
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39510845
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p2.,
авторОн опъядь поспал немножъко

пока вспомнилось:
кроме нового варианта array_agg (зачем--то проверяющего длины, при полном бардаке в массивах пж. но пусть будет, раз сделали)
нужен array_agg(anyarray) AS append
т.е. сплошь и рядом вот такое пока даром не надо

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT array_agg(x) FROM 
	(SELECT ARRAY_AGG(G) x
		FROM generate_series(1, 1000) i
		--,lateral generate_series(0,(random()*i)::int +1) g 
-- какого хера они тут припустились проверять длины,
-- когда в пж-- массивы можно хоть лягушку засовывать
		,lateral generate_series(0 + i%17,100+ i%17) g 
	group by i
	) foo;



а надо что-то, реализующее примерно такое, но одним словом:

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT array_agg(y order by i,ord) FROM --array_agg_append
	(SELECT ARRAY_AGG(G) x,i
		FROM generate_series(1, 1000) i
		,lateral generate_series(0,(random()*i)::int +1) g 
	group by i
	) foo
,lateral unnest(x) with ordinality t(y,ord);



то же -- про jsonb_agg --для широких еав--ов мне нужно ,аггрегируя, аппендить поля объектов, а не набирать тупо массивы джейсонов--атрибутов.
пока приходится аппендить ключи и значения отдельно, потом пересобирать объект из массивов текстовок. (если бы сразу копить в jsonb-- объекте -- обходилось бы оно алгоритмистски дешевле ?)
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39511535
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqнужен array_agg(anyarray) AS append?
Код: sql
1.
2.
3.
4.
create aggregate array_agg_append(integer[]) (
  sfunc=array_cat,
  stype=int4[]
);
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39511806
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p2.qwwqнужен array_agg(anyarray) AS append?
Код: sql
1.
2.
3.
4.
create aggregate array_agg_append(integer[]) (
  sfunc=array_cat,
  stype=int4[]
);


неееееееееееееееее
там одних переприсовений будет каак

хочу как положено, копить, а не перекладывать

Код: sql
1.
2.
3.
4.
5.
CREATE AGGREGATE array_agg_append(anyarray) (
  SFUNC=array_agg_array_append_transfn,
  STYPE=internal,
  FINALFUNC=array_agg_array_append_finalfn
);
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39512737
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В команде REINDEX
в секциях параметра DATABASE и SYSTEM
можно указать только текущую базу.
Смысл её указывать?
Логичнее было бы по-умолчанию не указывать, а если пользователь указал,
то обрабатывать то, что он указал(другую базу на кластере).
Такая идея озвучивалась? Если нет - куда лучше отписаться?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39521388
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwq,

придумал хотеть limit в агрегатах. через лейтералы собирается, но когда по многим сортировкам топы в одной записи собираешь -- дюже много писать приходится.
для анализов удобно
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39565272
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Голосуй, не голосуй, а уже в пути

PostgreSQL 11:

SQL procedures

This adds a new object type "procedure" that is similar to a function
but does not have a return type and is invoked by the new CALL statement
instead of SELECT or similar. This implementation is aligned with the
SQL standard and compatible with or similar to other SQL implementations.

This commit adds new commands CALL, CREATE/ALTER/DROP PROCEDURE, as well
as ALTER/DROP ROUTINE that can refer to either a function or a
procedure (or an aggregate function, as an extension to SQL). There is
also support for procedures in various utility commands such as COMMENT
and GRANT, as well as support in pg_dump and psql. Support for defining
procedures is available in all the languages supplied by the core
distribution.

While this commit is mainly syntax sugar around existing functionality,
future features will rely on having procedures as a separate object
type.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39663037
dubolom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень хочется, чтобы в pg_dump при создании дампа, хотя бы для формата Custom
в дамп писалась доп. инфа и была реализована фича проверки дампов на целостность.
например
Код: plaintext
1.
2.
# pg_test -f 20180101.dmp
file version: 9.6.2
status: ok
Куда писать?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39683622
anjey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как на счёт асинхронных notify при подключении через jdbc ?

Это в postgres асинхронных уведомлений нету, или именно в jdbc-драйвере ?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39683669
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions001.htm#i81407

причем более лучшие чем в оракле.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39684313
PgSQLanonymous3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakХочу
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions001.htm#i81407
причем более лучшие чем в оракле.А что Вы можете предложить в плане "лучшие" (я слышал, что в Oracle есть всё, что есть в ISO SQL, и даже больше)?
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39684365
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anjeyА как на счёт асинхронных notify при подключении через jdbc ?

Это в postgres асинхронных уведомлений нету, или именно в jdbc-драйвере ?
В PostgreSQL есть , в jdbc - незнаю.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39684440
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PgSQLanonymous3Ivan DurakХочу
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions001.htm#i81407
причем более лучшие чем в оракле.А что Вы можете предложить в плане "лучшие" (я слышал, что в Oracle есть всё, что есть в ISO SQL, и даже больше)?
банальный CORR не для двух переменных, а для N.
Это даже excel умеет.
А в субд голяк..... приходится писать извращения вида


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
- test data (GroupIDs 1, 2 normal regressions, 3, 4 = no variance)
WITH some_table(GroupID, x, y) AS
(       SELECT 1,  1,  1    UNION SELECT 1,  2,  2    UNION SELECT 1,  3,  1.3  
  UNION SELECT 1,  4,  3.75 UNION SELECT 1,  5,  2.25 UNION SELECT 2, 95, 85    
  UNION SELECT 2, 85, 95    UNION SELECT 2, 80, 70    UNION SELECT 2, 70, 65    
  UNION SELECT 2, 60, 70    UNION SELECT 3,  1,  2    UNION SELECT 3,  1, 3
  UNION SELECT 4,  1,  2    UNION SELECT 4,  2,  2),
 -- linear regression query
/*WITH*/ mean_estimates AS
(   SELECT GroupID
          ,AVG(x * 1.)                                             AS xmean
          ,AVG(y * 1.)                                             AS ymean
    FROM some_table pd
    GROUP BY GroupID
),
stdev_estimates AS
(   SELECT pd.GroupID
          -- T-SQL STDEV() implementation is not numerically stable
          ,CASE      SUM(SQUARE(x - xmean)) WHEN 0 THEN 1 
           ELSE SQRT(SUM(SQUARE(x - xmean)) / (COUNT(*) - 1)) END AS xstdev
          ,     SQRT(SUM(SQUARE(y - ymean)) / (COUNT(*) - 1))     AS ystdev
    FROM some_table pd
    INNER JOIN mean_estimates  pm ON pm.GroupID = pd.GroupID
    GROUP BY pd.GroupID, pm.xmean, pm.ymean
),
standardized_data AS                   -- increases numerical stability
(   SELECT pd.GroupID
          ,(x - xmean) / xstdev                                    AS xstd
          ,CASE ystdev WHEN 0 THEN 0 ELSE (y - ymean) / ystdev END AS ystd
    FROM some_table pd
    INNER JOIN stdev_estimates ps ON ps.GroupID = pd.GroupID
    INNER JOIN mean_estimates  pm ON pm.GroupID = pd.GroupID
),
standardized_beta_estimates AS
(   SELECT GroupID
          ,CASE WHEN SUM(xstd * xstd) = 0 THEN 0
                ELSE SUM(xstd * ystd) / (COUNT(*) - 1) END         AS betastd
    FROM standardized_data
    GROUP BY GroupID
)
SELECT pb.GroupID
      ,ymean - xmean * betastd * ystdev / xstdev                   AS Alpha
      ,betastd * ystdev / xstdev                                   AS Beta
      ,CASE ystdev WHEN 0 THEN 1 ELSE betastd * betastd END        AS R2
      ,betastd                                                     AS Correl
      ,betastd * xstdev * ystdev                                   AS Covar
FROM standardized_beta_estimates pb
INNER JOIN stdev_estimates ps ON ps.GroupID = pb.GroupID
INNER JOIN mean_estimates  pm ON pm.GroupID = pb.GroupID
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Голосуем за новые фичи PG
    #39854100
BlackEric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Transparent Data Encryption (TDE) хочется как в ms sql.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39879268
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самая главная фича - это если бы сделали нормальный инструмент, что бы коректно работал. Это реальная проблема!
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39977401
flashgun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только я страдаю без возможности создавать временные таблицы на read-only stand-by реплике? Понимаю, что чудовищно сложно, но прямо вот мечта...
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #39977415
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flashgun,

как видно, никто не страдает в достаточной мере чтобы этим заняться. Мне вот надоело базу рестартовать ради смены primary_conninfo - встречайте pg13. С времянками проблем ещё больше будет, но opensource работает так.
...
Рейтинг: 0 / 0
Голосуем за новые фичи PG
    #40009145
kliff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автосоздание партиций и jobы
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Голосуем за новые фичи PG
    #40131388
Desert_Nomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Автосоздание партиций, джобы и автономки.
...
Рейтинг: 0 / 0
154 сообщений из 154, показаны все 7 страниц
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Голосуем за новые фичи PG
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]