
Eugen
18.09.2018
14:13:27

Yaroslav
18.09.2018
14:15:40

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?

Andrey
18.09.2018
14:37:15

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

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

Yaroslav
18.09.2018
14:41:00

Lestat -
18.09.2018
14:43:13

Vladimir
18.09.2018
14:45:24

Yaroslav
18.09.2018
14:45:59

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
В общем никто не знает
Вы неправильно поняли ответ, мне кажется. ;)
Мы знаем, просто других (существенных) способов нет.
А Вам зачем (может, исходя из потребностей, получится подсказать что-то иное)?

Vladimir
18.09.2018
15:00:35

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

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

Oleg
18.09.2018
15:14:13
Точно
Проверьте /usr/bin:/bin:/usr/sbin:/sbin

Lestat -
18.09.2018
15:15:16

Eugen
18.09.2018
15:18:52

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

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

Google

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

Darafei
18.09.2018
21:01:46
ненормально делать это постоянно

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

Darafei
18.09.2018
21:10:00

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