Size: a a a

pgsql – PostgreSQL

2021 January 26

Д

Дмитрий in pgsql – PostgreSQL
Roman Lukianov
systemctl list-units|grep postgresql

потом systemctl reload то что выдала прошлая команда
systemctl list-units|grep postgresql
postgresql.service                                                                               loaded active exited    PostgreSQL RDBMS
postgresql@11-main.service                                                                       loaded active running   PostgreSQL Cluster 11-main
system-postgresql.slice                                                                          loaded active active    system-postgresql.slice
источник

M

Milkhael in pgsql – PostgreSQL
Yaroslav Schekin
Да он много чего покрывает — Вы конкретнее спрашивайте. Опять-таки, см. ссылку.

> но справочно использовать почему бы и нет?

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

>  я видел когда-то и обращался к нему как раз чтобы понять

Если действительно поняли — Вам повезло (что удивительно, иногда авторы переходят на нормальный английский, и уж совсем редко даже дают однозначные описания — видимо "И у Мастера бывают ошибки" ©).

> pg не был описан интересовавший меня случай

Какой, кстати? Если его нет по приведённой ссылке — есть люди, заинтересованные в том, чтобы добавить. ;)
Ну о мнениях спорить бесполезно, ваше мнение, что смотреть бесполезно, ок, тут дело хозяйское, я бы посмотреть не отказался) Про тот случай, если мне память не изменяет: select … from unnest(…) with ordinality вот в этом случае будет ли ordinality совпадать с порядком элементов в массиве? Эмпирически в pg (на тот момент 9.6) совпадало всегда, но в доке по pg не было на что опереться, чтобы удостовериться, что так задумано. Мы ради инетереса смотрели стандарт и там тоже ничего не было по этому поводу, откуда заключили, что это ненадёжно и надо от этого избавиться
источник

RL

Roman Lukianov in pgsql – PostgreSQL
Дмитрий
systemctl list-units|grep postgresql
postgresql.service                                                                               loaded active exited    PostgreSQL RDBMS
postgresql@11-main.service                                                                       loaded active running   PostgreSQL Cluster 11-main
system-postgresql.slice                                                                          loaded active active    system-postgresql.slice
я в лс написал
источник

RY

Rustem Yuzlibaev in pgsql – PostgreSQL
где можно скачать готовую базу для теста на 500.000 строк
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
на сайте постгрес-профессионального есть три базы с разным количеством  строк
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Rustem Yuzlibaev
где можно скачать готовую базу для теста на 500.000 строк
pgbench -i -s 5
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Milkhael
Ну о мнениях спорить бесполезно, ваше мнение, что смотреть бесполезно, ок, тут дело хозяйское, я бы посмотреть не отказался) Про тот случай, если мне память не изменяет: select … from unnest(…) with ordinality вот в этом случае будет ли ordinality совпадать с порядком элементов в массиве? Эмпирически в pg (на тот момент 9.6) совпадало всегда, но в доке по pg не было на что опереться, чтобы удостовериться, что так задумано. Мы ради инетереса смотрели стандарт и там тоже ничего не было по этому поводу, откуда заключили, что это ненадёжно и надо от этого избавиться
> Ну о мнениях спорить бесполезно,

А давайте поспорим. ;)

> вот в этом случае будет ли ordinality совпадать с порядком элементов в массиве?

Да, будет. И это однозначно указано в стандарте.

> Мы ради инетереса смотрели стандарт и там тоже ничего не было по этому поводу

Т.е. было.

> что это ненадёжно и надо от этого избавиться

И сделали неправильный вывод.
<sarcasm>И что, полезно для вас оказалось чтение стандарта, да?</sarcasm>
источник

M

Milkhael in pgsql – PostgreSQL
Yaroslav Schekin
> Ну о мнениях спорить бесполезно,

А давайте поспорим. ;)

> вот в этом случае будет ли ordinality совпадать с порядком элементов в массиве?

Да, будет. И это однозначно указано в стандарте.

> Мы ради инетереса смотрели стандарт и там тоже ничего не было по этому поводу

Т.е. было.

> что это ненадёжно и надо от этого избавиться

И сделали неправильный вывод.
<sarcasm>И что, полезно для вас оказалось чтение стандарта, да?</sarcasm>
Здорово, значит ошиблись. Значит тем более надо ещё раз взглянуть на этот стандарт и разобраться, потому что в доке по pg этого нет. Получается только в стандарте
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Milkhael
Здорово, значит ошиблись. Значит тем более надо ещё раз взглянуть на этот стандарт и разобраться, потому что в доке по pg этого нет. Получается только в стандарте
Я это всё писал к тому, что чтение ISO SQL — это специальный навык, не иначе. :(
Вот "вы" (несколько человек, я так понимаю?) читали, и даже не нашли, где это, я так понял (пункт 7.6 <table reference>, начиная с подпункта 7 в SQL:2011)?
И сделали совершенно неправильный вывод!

Т.е. лучше в спорных случаях обращаться к тем, кто этим навыком владеет — например, сразу спрашивать в postgresql-general или -hackers (и даже так не факт, что Вы услышите одну интерпретацию — вот настолько "прекрасно" написан стандарт).

> потому что в доке по pg этого нет.

Да, вот зря некоторые [подобные] вещи туда не вносятся.
Можете написать в -docs (я уже не в первый раз слышу, что кто-то сомневается про ORDINALITY, кажется).
источник

M

Milkhael in pgsql – PostgreSQL
Yaroslav Schekin
Я это всё писал к тому, что чтение ISO SQL — это специальный навык, не иначе. :(
Вот "вы" (несколько человек, я так понимаю?) читали, и даже не нашли, где это, я так понял (пункт 7.6 <table reference>, начиная с подпункта 7 в SQL:2011)?
И сделали совершенно неправильный вывод!

Т.е. лучше в спорных случаях обращаться к тем, кто этим навыком владеет — например, сразу спрашивать в postgresql-general или -hackers (и даже так не факт, что Вы услышите одну интерпретацию — вот настолько "прекрасно" написан стандарт).

> потому что в доке по pg этого нет.

Да, вот зря некоторые [подобные] вещи туда не вносятся.
Можете написать в -docs (я уже не в первый раз слышу, что кто-то сомневается про ORDINALITY, кажется).
Мне сейчас чтобы на ваши вопросы ответить, надо этот драфт найти, который уже на оф сайте не доступен. На память я конечно-то же не помню какой раздел подпункт и т.п. У вас он(драфт), похоже, есть? А то, что не нашли или недополняли, плохо, конечно, надо разобраться, почему. Этому же не то, чтобы невозможно? У вас же получилось разобраться, почему у других не получится, пусть даже не сразу?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Yaroslav Schekin
Я это всё писал к тому, что чтение ISO SQL — это специальный навык, не иначе. :(
Вот "вы" (несколько человек, я так понимаю?) читали, и даже не нашли, где это, я так понял (пункт 7.6 <table reference>, начиная с подпункта 7 в SQL:2011)?
И сделали совершенно неправильный вывод!

Т.е. лучше в спорных случаях обращаться к тем, кто этим навыком владеет — например, сразу спрашивать в postgresql-general или -hackers (и даже так не факт, что Вы услышите одну интерпретацию — вот настолько "прекрасно" написан стандарт).

> потому что в доке по pg этого нет.

Да, вот зря некоторые [подобные] вещи туда не вносятся.
Можете написать в -docs (я уже не в первый раз слышу, что кто-то сомневается про ORDINALITY, кажется).
вот тут дока говорит, что вывод нумеруется в порядке выдачи значений ф-цией: https://www.postgresql.org/docs/13/queries-table-expressions.html#id-1.5.6.6.5.9.2
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
На что можно придумать возражение вроде "ну там же не написано, что PostgreSQL не может произвольно переупорядочить function result set перед нумерацией". ;)
Оно, может, кажется смешным... но мне помнится, что кто-то тут что-то подобное на самом деле писал.
источник

M

Milkhael in pgsql – PostgreSQL
А вот resultset функции сам по себе обладает свойством упорядоченности?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Milkhael
А вот resultset функции сам по себе обладает свойством упорядоченности?
resultset не функция, а термин. база не будет упорядочивать что попало, это же дорогая операция — сортировка
источник

M

Milkhael in pgsql – PostgreSQL
Yaroslav Schekin
На что можно придумать возражение вроде "ну там же не написано, что PostgreSQL не может произвольно переупорядочить function result set перед нумерацией". ;)
Оно, может, кажется смешным... но мне помнится, что кто-то тут что-то подобное на самом деле писал.
Да вы поймите, что человек, когда где-то не находит ответа, начинает собирать информацию. Стандарт - это один из источников информации, который можно попытаться использовать, чтобы понять насколько то или иное поведение нормальное. Если бы в доке по pg было указано явно, конечно, никто бы никуда не полез
источник

M

Milkhael in pgsql – PostgreSQL
Victor Yegorov
resultset не функция, а термин. база не будет упорядочивать что попало, это же дорогая операция — сортировка
значит нет никакого порядка выдачи значений? То есть он физически-то есть по факту, но не опреден заранее. Так?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Milkhael
значит нет никакого порядка выдачи значений? То есть он физически-то есть по факту, но не опреден заранее. Так?
зависит от типа данных, нет? если мы говорим про массивы, то у них порядок определён по определению
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Milkhael
Мне сейчас чтобы на ваши вопросы ответить, надо этот драфт найти, который уже на оф сайте не доступен. На память я конечно-то же не помню какой раздел подпункт и т.п. У вас он(драфт), похоже, есть? А то, что не нашли или недополняли, плохо, конечно, надо разобраться, почему. Этому же не то, чтобы невозможно? У вас же получилось разобраться, почему у других не получится, пусть даже не сразу?
> У вас он(драфт), похоже, есть?

Да, это самое новое, что есть в открытом доступе. https://wiki.postgresql.org/wiki/Developer_FAQ#Where_can_I_get_a_copy_of_the_SQL_standards.3F

> надо разобраться, почему.

Да потому что стандарт написан в основном отвратительно, вот и всё. ;(

> Этому же не то, чтобы невозможно?

Иногда это именно так. Кардинальные различия в реализации некоторых вещей в разных СУБД (каждая из которых считает, что соблюдает стандарт), как бы намекают нам (как и случаи, когда на трёх читающих одни и те же страницы получается четыре разных, правдоподобных мнения). ;)

> У вас же получилось разобраться, почему у других не получится, пусть даже не сразу?

Потому что это там ещё относительно нормально написано.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Victor Yegorov
resultset не функция, а термин. база не будет упорядочивать что попало, это же дорогая операция — сортировка
Нет, Вы тут уже "съехали" в будет / не будет (выгодно ли это) и т.п. ;)
А вопрос-то о правильности, о гарантиях, "отныне и впредь".
источник

M

Milkhael in pgsql – PostgreSQL
Yaroslav Schekin
> У вас он(драфт), похоже, есть?

Да, это самое новое, что есть в открытом доступе. https://wiki.postgresql.org/wiki/Developer_FAQ#Where_can_I_get_a_copy_of_the_SQL_standards.3F

> надо разобраться, почему.

Да потому что стандарт написан в основном отвратительно, вот и всё. ;(

> Этому же не то, чтобы невозможно?

Иногда это именно так. Кардинальные различия в реализации некоторых вещей в разных СУБД (каждая из которых считает, что соблюдает стандарт), как бы намекают нам (как и случаи, когда на трёх читающих одни и те же страницы получается четыре разных, правдоподобных мнения). ;)

> У вас же получилось разобраться, почему у других не получится, пусть даже не сразу?

Потому что это там ещё относительно нормально написано.
Сойдёмся на этом) стандарт написан отвратительно и сложен для понимания.
источник