Size: a a a

pgsql – PostgreSQL

2021 February 02

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Как вариант, может быть, прежде, чем просить вендора что-то менять в конфиге, позапускать руками с каким-то другим графиком и посмотреть что будет. Но останавливает полная неопределенность что будет с писателем, если работает вакуум.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Andrey Tatarnikov
11
Так вот в следующей версии (v12) его по умолчанию сделали в десять раз агрессивнее, например. ;)
Вообще, если проблемы с vacuum — нужно его настраивать так, чтобы он работал интенсивнее, а не наоборот.
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Вендор все равно не будет думать что там на что менять и если и согласится - то на копипаст того, что ему скажут
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Andrey Tatarnikov
Как вариант, может быть, прежде, чем просить вендора что-то менять в конфиге, позапускать руками с каким-то другим графиком и посмотреть что будет. Но останавливает полная неопределенность что будет с писателем, если работает вакуум.
А чего Вы опасаетесь, собственно?
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Всего. :)
Ну то есть, своего опыта обслуживания постгреса в таких масштабах вообще нет и взять негде. От этого нет четкого понимания, а что собственно может случиться
источник

NP

NIKITA POLETIN in pgsql – PostgreSQL
Ребят, заранее извиняюсь за глупый вопрос, но я пытаюсь понять как работает постгресс, и плаваю в документации. Подскажите пожалуйста, команда создания новой бд (createdb mydb) вводится прямо из консоли пользователя, или мне нужно входить в какую-то среду постгресса?
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
утилита в ОС createdb, а в psql команда create database;
источник

NP

NIKITA POLETIN in pgsql – PostgreSQL
Спасибо, я, видимо, читаю что-то не то, где можно со всеми командами ознакомиться?
источник

JS

John Smith in pgsql – PostgreSQL
Добрый день
А как можно вернуть или значение столбца из таблицы или дефолтное значение, если в выборке нет строк? Сейчас я нашел выход из положения в виде двух запросов с UNION, но мне вообще не нравится.
Хочется что-то типа такого (это не работает):
WITH result AS (
 SELECT my_bool_field
     FROM public.my_table
     WHERE
       employee_job_id = 1 AND
       date <= '2020-01-23'
   ORDER BY date DESC, id DESC
   LIMIT 1
)
SELECT COALESCE( result.my_bool_field, false ) FROM result
источник

JS

John Smith in pgsql – PostgreSQL
Т.е. я хочу вернуть дефолтный false, если первый запрос не отработал, или вернуть значение первого запроса, если отработал
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
John Smith
Т.е. я хочу вернуть дефолтный false, если первый запрос не отработал, или вернуть значение первого запроса, если отработал
select top 1 with ties from (select from table union all select default order by )
источник

JS

John Smith in pgsql – PostgreSQL
Dimitri Grinkevich
select top 1 with ties from (select from table union all select default order by )
Я сейчас так и делаю, но мне прям не нравится то, что у меня пол таблицы выбирается в части, где у вас select from table
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
John Smith
Я сейчас так и делаю, но мне прям не нравится то, что у меня пол таблицы выбирается в части, где у вас select from table

значение столбца из таблицы


значит не из столбца, а из какой-то строки, определяйтесь, из какой
источник

NP

NIKITA POLETIN in pgsql – PostgreSQL
NIKITA POLETIN
Спасибо, я, видимо, читаю что-то не то, где можно со всеми командами ознакомиться?
Лучше по-другому спрошу, посоветуйте, пожалуйста, какие-нибудь хорошие видео в откртытом доступе по Постгрессу, желательно на русском, буду очень благодарен
источник

JS

John Smith in pgsql – PostgreSQL
Dimitri Grinkevich

значение столбца из таблицы


значит не из столбца, а из какой-то строки, определяйтесь, из какой
Ну так-то столбца без строки не бывает. Мой неправильный пример с COALESCE хорош тем, что там LIMIT 1 уже в секции WITH, а в варианте с UNION я не смогу залимитировать только первый запрос, я могу залимитировать только всю UNION-выборку
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
John Smith
Ну так-то столбца без строки не бывает. Мой неправильный пример с COALESCE хорош тем, что там LIMIT 1 уже в секции WITH, а в варианте с UNION я не смогу залимитировать только первый запрос, я могу залимитировать только всю UNION-выборку
непонятно, что такое лимитировать, и почему опять юнион а не юнион алл
источник

JS

John Smith in pgsql – PostgreSQL
Dimitri Grinkevich
непонятно, что такое лимитировать, и почему опять юнион а не юнион алл
Я не смогу же сделать SELECT a FROM t LIMIT 1 UNION ALL SELECT false?
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
John Smith
Я не смогу же сделать SELECT a FROM t LIMIT 1 UNION ALL SELECT false?
rtfm select from ( (select ) union all (select) )
источник

JS

John Smith in pgsql – PostgreSQL
Dimitri Grinkevich
rtfm select from ( (select ) union all (select) )
Сейчас гляну
источник

JS

John Smith in pgsql – PostgreSQL
Dimitri Grinkevich
rtfm select from ( (select ) union all (select) )
Да, я что-то тупанул, спасибо
источник