Size: a a a

pgsql – PostgreSQL

2020 July 27

MM

Max Mokryi in pgsql – PostgreSQL
в pg_hba добавил.... Иначе не присоединился бы...
источник

П

Павел П. in pgsql – PostgreSQL
Create user LOGIN
источник

P

Petr in pgsql – PostgreSQL
Egor Rogov
tstzrange всех спасет.

CREATE TABLE calls(
  id integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
  duration tstzrange
);

WITH s(start) AS (
  SELECT now() + random()*365*24*60*60*interval '1 sec'
  FROM generate_series(1,100000)
)
INSERT INTO calls(duration)
  SELECT tstzrange(s.start, s.start + random()*10*60*interval '1 sec') FROM s;

CREATE INDEX ON calls USING gist(duration);

WITH pairs(id, id2) AS (
  SELECT c1.id, c2.id FROM calls c1 JOIN calls c2 ON c1.duration && c2.duration
), counts(cnt) AS (
  SELECT count(*) AS cnt FROM pairs GROUP BY id
)
SELECT max(cnt) FROM counts;
да такой вариант быстрее - рекурсивно создал табличку с всеми возможными вариантами времени - и сравнил с таблицей звонков
источник

MM

Max Mokryi in pgsql – PostgreSQL
postgres=# alter user rouser with login;
ALTER ROLE

не помогло
источник

П

Павел П. in pgsql – PostgreSQL
Проверять)
Какая строка подключения, тот ли порт, ip
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Павел П.
Create user LOGIN
CREATE USER is now an alias for CREATE ROLE. The only difference is that when the command is spelled CREATE USER, LOGIN is assumed by default, whereas NOLOGIN is assumed when the command is spelled CREATE ROLE.

Т.е. дело точно не в этом.
источник

MM

Max Mokryi in pgsql – PostgreSQL
Странно..... psql подключение проходит....  Хочу datagrip использовать - он ругается, что база не существует
источник

MM

Max Mokryi in pgsql – PostgreSQL
Он, как я понимаю, вычитывает структуру.... И из-за того, что не может вычитать - ругается. Каких прав нужно и где добавить, чтобы он смог вычитать структуру?
источник

ДГ

Дмитрий Гаврин... in pgsql – PostgreSQL
Ну, если следовать вашей логике, тогда надо вот такое добавить:
GRANT USAGE ON SCHEMA pg_catalog TO rouser;
GRANT SELECT ON ALL TABLES IN SCHEMA pg_catalog TO rouser;
GRANT USAGE ON SCHEMA information_schema TO rouser;
GRANT SELECT ON ALL TABLES IN SCHEMA information_schema TO rouser;
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Egor Rogov
tstzrange всех спасет.

CREATE TABLE calls(
  id integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
  duration tstzrange
);

WITH s(start) AS (
  SELECT now() + random()*365*24*60*60*interval '1 sec'
  FROM generate_series(1,100000)
)
INSERT INTO calls(duration)
  SELECT tstzrange(s.start, s.start + random()*10*60*interval '1 sec') FROM s;

CREATE INDEX ON calls USING gist(duration);

WITH pairs(id, id2) AS (
  SELECT c1.id, c2.id FROM calls c1 JOIN calls c2 ON c1.duration && c2.duration
), counts(cnt) AS (
  SELECT count(*) AS cnt FROM pairs GROUP BY id
)
SELECT max(cnt) FROM counts;
А на какой вопрос вообще отвечает данный запрос (я просто задачу понял как "найти максимум одновременно активных звонков в любой точке времени")? А это что-то другое, на первый взгляд...
источник

ER

Egor Rogov in pgsql – PostgreSQL
Вопрос был задан так: «Нужно определить максимальное количество одновременных звонков».
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Egor Rogov
Вопрос был задан так: «Нужно определить максимальное количество одновременных звонков».
И что это значит, по-Вашему? По-моему, то, что я написал выше... нет?
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
может кто-то сталкивался:  JOIN таблицы от которой наследуются еще 3 в EXPLAIN показывает очень долгий index scan на этой таблице,  хотя если делать запрос JOIN и любую наследную таблицу по отдельности , и даже наследуемую с ONLY , то никаких тормазов нет... интересно, что наследуемая таблица еще и самая маленькая(((
источник

ER

Egor Rogov in pgsql – PostgreSQL
Yaroslav Schekin
И что это значит, по-Вашему? По-моему, то, что я написал выше... нет?
Ну да, только не в любой точке, а за все время.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Владимир Яворский
может кто-то сталкивался:  JOIN таблицы от которой наследуются еще 3 в EXPLAIN показывает очень долгий index scan на этой таблице,  хотя если делать запрос JOIN и любую наследную таблицу по отдельности , и даже наследуемую с ONLY , то никаких тормазов нет... интересно, что наследуемая таблица еще и самая маленькая(((
Тут сразу планы (EXPLAIN (ANALYZE, VERBOSE, BUFFERS)) нужно показывать, IMHO.
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
он очень большой))
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Egor Rogov
Ну да, только не в любой точке, а за все время.
За всё время — это максимум из конкретных точек, нет?
Ваш запрос делает что-то другое, мне показалось...
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
да и там только и видно , что основное время - это тот самый index scan
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
еще гляну сырой вывод.. может pgadmin напутал
источник

ER

Egor Rogov in pgsql – PostgreSQL
Yaroslav Schekin
За всё время — это максимум из конкретных точек, нет?
Ваш запрос делает что-то другое, мне показалось...
Ну наверное можно и так сказать. Грубо говоря, сколько операторов кол-центра должно было одновременно сидеть, чтобы обработать эти звонки.
источник