Size: a a a

pgsql – PostgreSQL

2020 July 30

S

Semen in pgsql – PostgreSQL
например, через pgadmin
источник

EK

Evgeny Khitrinevich in pgsql – PostgreSQL
это первое что я попробовал сделать, но кажется нельзя добавить юзеру username роль username
источник

EK

Evgeny Khitrinevich in pgsql – PostgreSQL
его там просто нет в списке
источник

O

Olex in pgsql – PostgreSQL
Привет народ, у меня есть бд с готовыми данными и мне нужно подгрузить дамп с некоторыми другими данными но мне выдает чтобы я использовал не psql a pg_restore . Как мне догрузить данные с .sql?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Olex
Привет народ, у меня есть бд с готовыми данными и мне нужно подгрузить дамп с некоторыми другими данными но мне выдает чтобы я использовал не psql a pg_restore . Как мне догрузить данные с .sql?
Я ничего не понял, например (дампы — это не для загрузки данных по частям, в общем случае).
Но если выдаёт, чтобы Вы использовали pg_restore — значит, используйте (т.е. это не plain-text dump).
источник

O

Olex in pgsql – PostgreSQL
Yaroslav Schekin
Я ничего не понял, например (дампы — это не для загрузки данных по частям, в общем случае).
Но если выдаёт, чтобы Вы использовали pg_restore — значит, используйте (т.е. это не plain-text dump).
А вот pg_restore выдает ошибку что уже таблицы существуют и мне по сути нужны только инсерты в том дампе. А редактировать sql файл я не могу чтобы убрать все лишние create и тд.
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Olex
А вот pg_restore выдает ошибку что уже таблицы существуют и мне по сути нужны только инсерты в том дампе. А редактировать sql файл я не могу чтобы убрать все лишние create и тд.
Для убрать из выхлопа pg_restore лишние команды есть sed. Справляется прекрасно. Хотя именно команду - хватит grep -v
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Olex
А вот pg_restore выдает ошибку что уже таблицы существуют и мне по сути нужны только инсерты в том дампе. А редактировать sql файл я не могу чтобы убрать все лишние create и тд.
Так преобразуйте его в plain text с помощью того же pg_restore, см. "--file=filename", и даже можно даже сразу вытащить нужное (с помощью --list / --use-list и т.п.).
источник

O

Olex in pgsql – PostgreSQL
Михаил Шурутов
Для убрать из выхлопа pg_restore лишние команды есть sed. Справляется прекрасно. Хотя именно команду - хватит grep -v
Не совсем понял. Если не трудно мог бы пример команды показать при ресторан?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Olex
А вот pg_restore выдает ошибку что уже таблицы существуют и мне по сути нужны только инсерты в том дампе. А редактировать sql файл я не могу чтобы убрать все лишние create и тд.
pg_restore --section=data
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
pg_restore выдаёт sql-код из дампа, который не является plain-text, на стандартный вывод. Вы этот текст либо сохраняете в файл, а потом проходитесь по нему текстовым редактором, например, vim, затем заливаете полученный дамп в БД, либо по через канал направляете в sed/grep -v, а затем опять же через канал заливаете в постгрес по через консоль psql. как-то вот так: pg_restore ... | sed -e 's/CREATE TABLE/— CREATE TABLE/g' |psql -d dbname
источник

АТ

Александр Тарасов... in pgsql – PostgreSQL
Добрый день! В представлении pg_stat_all_indexes в idx_tup_read обнаружил номер телефона, как узнать откуда столько идет?
в прочих индексах значения цифр на 4 меньше, да и пользаков на стенде быть не должно что-бы такое творить...
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Михаил Шурутов
pg_restore выдаёт sql-код из дампа, который не является plain-text, на стандартный вывод. Вы этот текст либо сохраняете в файл, а потом проходитесь по нему текстовым редактором, например, vim, затем заливаете полученный дамп в БД, либо по через канал направляете в sed/grep -v, а затем опять же через канал заливаете в постгрес по через консоль psql. как-то вот так: pg_restore ... | sed -e 's/CREATE TABLE/— CREATE TABLE/g' |psql -d dbname
выдаёт именно plain-text SQL запросы
источник

J

Jake in pgsql – PostgreSQL
столкнулся с такой ошибкой
использую orm sequelize
создана бд

CREATE TABLE clocksizes ( id SERIAL PRIMARY KEY, size TEXT);

пытаюсь добавить строчки

INSERT INTO "clocksizes" ("id","size") VALUES (DEFAULT,"SMALL"), (DEFAULT,"MEDIUM"), (DEFAULT,"BIG");

возникает ошибка DatabaseError [SequelizeDatabaseError]: столбец "SMALL" не существует
код ошибки 42703
Подскажите пожалуйста, в чем может быть проблема
источник

V

Valery in pgsql – PostgreSQL
Замените кавычки на одинарные для values
источник

КБ

Константин Бакарас... in pgsql – PostgreSQL
Добрый день! Может кто-нибудь подсказать, как postgres решает, когда использовать кэшированное значение immutable-функции, а когда нужно вычислять. Параметры вызова всегда одни и те же. Ни разу не удалось наблюдать возврат кэшированного значения, функция всегда вычисляется. Может, настройку какую-то нужно включить? Воспроизводится на простейшей функции, например:

create function check_cache(id uuid) returns int
as 'select 222 from pg_sleep(5);' language sql immutable;

Вызываю с одним и тем же параметром, например:
select check_cache('c9a77d55-d664-415f-bac0-c49701018b07');
select check_cache('c9a77d55-d664-415f-bac0-c49701018b07');
select check_cache('c9a77d55-d664-415f-bac0-c49701018b07');

Результат функции всегда один и тот же, но кэширование не срабатывает, и каждый вызов спит 5 сек.
источник

АЛ

Аггей Лоскутников... in pgsql – PostgreSQL
Насколько я понимаю это не так работает
источник

J

Jake in pgsql – PostgreSQL
Valery
Замените кавычки на одинарные для values
спасибо, помогло)
источник

АЛ

Аггей Лоскутников... in pgsql – PostgreSQL
Константин Бакарас
Добрый день! Может кто-нибудь подсказать, как postgres решает, когда использовать кэшированное значение immutable-функции, а когда нужно вычислять. Параметры вызова всегда одни и те же. Ни разу не удалось наблюдать возврат кэшированного значения, функция всегда вычисляется. Может, настройку какую-то нужно включить? Воспроизводится на простейшей функции, например:

create function check_cache(id uuid) returns int
as 'select 222 from pg_sleep(5);' language sql immutable;

Вызываю с одним и тем же параметром, например:
select check_cache('c9a77d55-d664-415f-bac0-c49701018b07');
select check_cache('c9a77d55-d664-415f-bac0-c49701018b07');
select check_cache('c9a77d55-d664-415f-bac0-c49701018b07');

Результат функции всегда один и тот же, но кэширование не срабатывает, и каждый вызов спит 5 сек.
Это если вы вызовите функцию при выборке нескольких записей - она будет вычисляться не для каждой записи , а один раз за вызов.
источник

КБ

Константин Бакарас... in pgsql – PostgreSQL
Аггей Лоскутников
Это если вы вызовите функцию при выборке нескольких записей - она будет вычисляться не для каждой записи , а один раз за вызов.
Мне казалось, что так работает stable. А immutable может переиспользоваться даже между разными сеансами.
источник