@pgsql

Страница 990 из 1062
Eugen
18.09.2018
14:13:27
Так для каждой ссылки на таблицу — свой alias, как обычно. Вы представляете "радость" того, кто будет потом читать запросы Вашего ORM (если вдруг так случится)? ;) По-моему, чем проще (привычнее), тем лучше.
вы имеете ввиду писать вот так: FROM users u LEFT JOIN users_roles ur on ur.user_id = u.id LEFT JOIN roles r on r.id = ur.user_id LEFT JOIN users_roles ur2 on ur2.user_id = u.id LEFT JOIN roles r2 on r2.id = ur2.user_id

Eugen
18.09.2018
14:17:13
нет, не вручную. Да и ловить одинаковые алиасы не хочу. так получил 5 наборов, выдал им 5 алиасов. А что там внутри живёт...... пусть себе живёт

Vladimir
18.09.2018
14:36:29
Ребят, можно ли на plpg написать функцию (если да, то каким методом) которая вернёт таблицу по результату динамического запроса, в которой количество столбцов варьируется и не привязано к существующему типу

Google
Andrei
18.09.2018
14:36:59
JSONB?

Vladimir
18.09.2018
14:37:49
JSONB?
Эт понятно А сразу как то можно?

Andrei
18.09.2018
14:38:05
а сразу - это как?

Vladimir
18.09.2018
14:45:24
"RETURNS SETOF record"... но Вам придётся явно указывать структуру результата при каждом вызове, вот в чём подкол. ;(
%rowtype как-то ковырял, но смутно помню способен ли он задать динамический тип

Vladimir
18.09.2018
14:48:01
Не думал, что для БД вернуть подобную таблицу так сложно)

Yaroslav
18.09.2018
14:50:49
Не думал, что для БД вернуть подобную таблицу так сложно)
Для БД это вообще неправильно, IMHO. Т.е. вообще не нормально, когда структура resultset-а вообще зависит от данных, а не только от самого запроса. И, кстати, что вообще полезного можно сделать с такой штукой в SQL, кроме как вернуть её клиенту? Как бы Вы её включили как элемент... ну хоть в какой-то запрос?

Oleg
18.09.2018
14:52:10
Резюмируя, написать то можно, зачем и что делать непонятно

Google
Oleg
18.09.2018
14:52:58
пользуйтесь json если структура данных неопределена

Vladimir
18.09.2018
14:54:04
В общем никто не знает

Yaroslav
18.09.2018
14:56:48
В общем никто не знает
Вы неправильно поняли ответ, мне кажется. ;) Мы знаем, просто других (существенных) способов нет. А Вам зачем (может, исходя из потребностей, получится подсказать что-то иное)?

Lestat -
18.09.2018
15:11:10
Друзья, psql выдает command not found гугл предлагает мне добавить psql в PATH но у меня пусто в /usr/pgsql-10/bin куда копать ?

Oleg
18.09.2018
15:11:37
как ставил?

Lestat -
18.09.2018
15:11:44
как ставил?
из исходников, если вопрос про PostgreSQL

Oleg
18.09.2018
15:12:11
система?

Lestat -
18.09.2018
15:12:25
Oleg
18.09.2018
15:13:16
Попробуй export PATH=/Library/PostgreSQL/10.0/bin:$PATH

Хотя нет, так не будет раболтать =)

это я на маке ставил

Yaroslav
18.09.2018
15:14:01
из исходников, если вопрос про PostgreSQL
Если из исходников, дистрибутив уже не важен... Куда Вы делали make install? Короче говоря, поищите, куда поставились binaries, и соотвественно настройте PATH.

Oleg
18.09.2018
15:14:13
Точно

Проверьте /usr/bin:/bin:/usr/sbin:/sbin

Eugen
18.09.2018
15:18:52
"RETURNS SETOF record"... но Вам придётся явно указывать структуру результата при каждом вызове, вот в чём подкол. ;(
Было бы прикольно приводить тип выборки а не передавать его. по идеи POstgres всё равно как эту информацию брать: select * from my_fn()::the_type; вместо: select * from my_fn( NULL::the_type )

Yaroslav
18.09.2018
16:05:11
Было бы прикольно приводить тип выборки а не передавать его. по идеи POstgres всё равно как эту информацию брать: select * from my_fn()::the_type; вместо: select * from my_fn( NULL::the_type )
Хмм... по-моему, мы с Вами о разном. Я о том случае, когда структура recordset неизвестна вызывающему вообще. (Для примера, часто хотят dynamic crosstab.) И функцией, которая возвращает setof record, это, казалось бы, можно было бы сделать... но, конечно, нельзя. ;) Используя refcursor, можно клиентом результат вытащить... но это и всё.

Artem
18.09.2018
16:11:34
оптимизацией SQL занимается машинное обучение https://rise.cs.berkeley.edu/blog/sql-query-optimization-meets-deep-reinforcement-learning/

Alexander
18.09.2018
16:20:03
Коллеги, добрый вечер! Не подскажете что лучше все использовать для поиска slow log?

Google
Игорь
18.09.2018
16:57:38
Коллеги, добрый вечер! Не подскажете что лучше все использовать для поиска slow log?
снимки pg_stat_statements. На pgconf 2018 автор инструмента рассказывал про использовании его программы

Vladimir
18.09.2018
17:33:51
Случайно наткнулся Что это за вид преобразования типа?) как он now вызывает? Select numeric ‘55’, time ‘now’ Я думал короче :: ничего нет)

S
18.09.2018
18:30:42
> The type 'string' syntax is a generalization of the standard: SQL specifies this syntax only for a few data types, but PostgreSQL allows it for all types.

select date 'yesterday'; select date 'tomorrow'; :-)

Vladimir
18.09.2018
18:44:48
Terminator
18.09.2018
19:04:15
D R будет жить. Поприветствуем!

D
18.09.2018
19:04:59
Привет, я говорю вам, что у меня установлен postgres 9.5, и есть процессы, которые имеют высокий уровень потребления процессора. Я сказал им, что сервер управляется другим человеком. И мне только что назначили 2 недели. И в те 2 недели поведение базы данных 24 часа - это высокий расход процессора. Любая идея, что это высокое потребление процессора может быть вызвано и как его можно уменьшить?

На приведенном ниже рисунке показано, как процессор поддерживается 24 часа в сутки



Сергей
18.09.2018
19:06:50
Значит все хорошо

Но видимо нагрузка постоянная, высокая

Darafei
18.09.2018
19:10:08
а в каких случаях reader process в принципе cpu-bound?

D а что iotop говорит?

D
18.09.2018
19:20:28




iotop показывает все нормально

Но видимо нагрузка постоянная, высокая
Я провел тесты, когда нет пользователей. Я остановил систему, которая запрашивает базу данных, а pg_activity не отображает запросы, однако поддерживается высокий расход процессора.

Сергей
18.09.2018
19:25:43
Посмотри какие звпросы в данный момент исполняются

Особенно когда юзеров нет

Anton [Mgn, az09@osm]
18.09.2018
19:54:15
D а что iotop говорит?
Думаешь автовакуум по диску лазит?

Google
Игорь
18.09.2018
20:55:49
вас не смутило больше 100% CPU?

Darafei
18.09.2018
21:01:46
вас не смутило больше 100% CPU?
совершенно нормально съесть несколько ядер

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

Игорь
18.09.2018
21:02:51
что за reader такой? Не видел еще больше 100% у пг

Darafei
18.09.2018
21:10:00
что за reader такой? Не видел еще больше 100% у пг
у вас windows? там загрузка считается иначе

D
18.09.2018
22:53:13
Я использую htop для контроля потребления процессора. Это сервер без графического интерфейса.

Darafei
18.09.2018
23:10:39
а в логах что?

а что делает этот процесс внутри, если посмотреть каким gdb?

а сервер снаружи доступен, у вас на нём криптовалюты точно не майнят?

Игорь
19.09.2018
04:12:44
у вас windows? там загрузка считается иначе
нет, Дарафей, у меня не виндоус. Про загрузку я прочее я знаю. Я говорю что никогда не видел у PostgreSQL занятого времени больше 100%. И разве пг может использовать больше одного процессора? Нет

Terminator
19.09.2018
05:10:46
@binakot будет жить. Поприветствуем!

Ivan
19.09.2018
05:11:05
Всем здрасьте!

Terminator
19.09.2018
05:11:27
Ruslan Romanov будет жить. Поприветствуем!

@AlbertBaykov будет жить. Поприветствуем!

Ruslan
19.09.2018
05:21:36
Привет! Проблема с pg_dump/pg_restore и extension-ами. В одной бд есть схема, на схеме создано расширение через create extension. Мне нужно утащить схему целиком в другую бд так, чтобы extension тоже бы доступен. При этом нужна повторяемость - если я дропаю эту схему в целевой бд, то повторный накат дампа должен заново всё создать. Сейчас проблемы следующие: - если вручную создать схему, в ней extension, а потом схему дропнуть, extension тоже убивается каскадом - если делать pg_dump с ключом -n, extension в дампе отсутствует вообще (хотя создан он именно на нужной схеме) - если делать полный pg_dump, но pg_restore с тем же ключом -n, extension не создаётся (хотя каскадом до этого убился) - если делать и полный pg_restore - он кидает ошибку прав доступа на comment on extension, причём extension только что созданный Собсно, вопрос - как перенести схему с расширениями без ошибок?

Terminator
19.09.2018
05:25:53
@Prominence будет жить. Поприветствуем!

Daniil / будет жить. Поприветствуем!

Игорь
19.09.2018
05:35:35
Привет! Проблема с pg_dump/pg_restore и extension-ами. В одной бд есть схема, на схеме создано расширение через create extension. Мне нужно утащить схему целиком в другую бд так, чтобы extension тоже бы доступен. При этом нужна повторяемость - если я дропаю эту схему в целевой бд, то повторный накат дампа должен заново всё создать. Сейчас проблемы следующие: - если вручную создать схему, в ней extension, а потом схему дропнуть, extension тоже убивается каскадом - если делать pg_dump с ключом -n, extension в дампе отсутствует вообще (хотя создан он именно на нужной схеме) - если делать полный pg_dump, но pg_restore с тем же ключом -n, extension не создаётся (хотя каскадом до этого убился) - если делать и полный pg_restore - он кидает ошибку прав доступа на comment on extension, причём extension только что созданный Собсно, вопрос - как перенести схему с расширениями без ошибок?
по последнему это нормально, не хватает прав камент поставить и все

Ruslan
19.09.2018
05:39:54
Ну это как-то странно, что я extension создать могу, а коммент на него тут же поставить - нет

A
19.09.2018
05:40:42
Привет, подскажите пожалуйста, как делать синхронизацию таблицы Oracle в postgresql

Google
DiJey (Pavel)
19.09.2018
05:43:54
Экстеншн ставить надо oracle_fdw

A
19.09.2018
05:47:46

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