Size: a a a

pgsql – PostgreSQL

2021 July 02

SM

Serj Marin in pgsql – PostgreSQL
Господа, так выражение нельзя строить, всегда только через EXECUTE format(... ?
select * INTO myrec from pg_matviews where matviewname = 'mv_pattern_'||idrow::TEXT;

делаю запрос, проверяя существование представления, чтобы обновить его
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Да, так выражение строить нельзя — это SQL injection. Для этого же есть семейство функций, см. \df quote_* (и документацию).
источник

SM

Serj Marin in pgsql – PostgreSQL
спасибо, а что за \df quote_* ?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Метакоманда psql.
                              List of functions
  Schema   |      Name      | Result data type | Argument data types | Type
------------+----------------+------------------+---------------------+------
pg_catalog | quote_ident    | text             | text                | func
pg_catalog | quote_literal  | text             | anyelement          | func
pg_catalog | quote_literal  | text             | text                | func
pg_catalog | quote_nullable | text             | anyelement          | func
pg_catalog | quote_nullable | text             | text                | func
(5 rows)
источник

SM

Serj Marin in pgsql – PostgreSQL
ну тогда format ...
источник

TO

Tarakanov Oleg in pgsql – PostgreSQL
Добрый день.
Подскажите, пожалуйста, имеются ли годные аналоги MS SQL Profiler в PostgeSQL?
источник

RS

Roman Sribnyi in pgsql – PostgreSQL
Привет ребят, такой вопрос. У меня есть 2 таблицы: регионы и нас пункты этих регионов. У юзера есть список выбранных регионов.
Я создал связь многие ко многим через связную таблицу users_regions, где ссылаюсь на user_id и region_id. Нормально ли будет 3-м параметром ссылаться ещё на id нас пункта? Или можно сделать 2 референса на region_id и нас_пункты_id? Или создать третью таблицу, где будет ссылка на юзера и нас пункты?
источник

RS

Roman Sribnyi in pgsql – PostgreSQL
Задача тривиальная, просто недавно беком заниматься начал
источник

С

Сергей in pgsql – PostgreSQL
Пользователи и регионы - многие ко многим.
Регионы и населенные пункты - один ко многим
источник

AK

Andy Korg in pgsql – PostgreSQL
Зависит от ТЗ - если точность адреса пользователя только до региона, то достаточно. Если или регион или нас пункт могут отсутствовать то сделать оба  FK
источник

С

Сергей in pgsql – PostgreSQL
Помимо таблицы пользователей и регионов создаете третью таблицу: id, user_id, region_id. Потом, отдельную таблицу с населенными пунктами: id, region_id, ...
источник

RS

Roman Sribnyi in pgsql – PostgreSQL
У меня в табл нас пункты список вперемешку с городами, селами и т.п ( ид родителя присутствует ), так база фиас спарсилась. У каждого региона есть ближайший ребёнок из нас пунктов, всегда
источник

RS

Roman Sribnyi in pgsql – PostgreSQL
Да, так и есть. Я про 3-б таблицу, где будут храниться выбранные юзером регионы и нас пункты
источник

AK

Andy Korg in pgsql – PostgreSQL
В зависимости от задачи оставляете либо одну FK либо обе
источник

С

Сергей in pgsql – PostgreSQL
Вы хотите в таблицу, связывающую пользователей и регионы (users_regions), добавить столбец с id населенного пункта?
источник

RS

Roman Sribnyi in pgsql – PostgreSQL
Ну да. Либо если можно, на region_id сделать 2 референса на region и нас пункты. Ведь, ид этих нас пунктов - это фиас айди с реестра. И к тому же, нас пункт может быть выбран независимо от региона
источник

С

Сергей in pgsql – PostgreSQL
Нет. У таблицы users_regions должна быть такая структура: id, region_id, user_id
источник

RS

Roman Sribnyi in pgsql – PostgreSQL
Понял. Значит ещё одну таблицу создать с выбранными нас пунктами?
источник

RS

Roman Sribnyi in pgsql – PostgreSQL
users_settlements, где будет user_id, settlement_id
источник

С

Сергей in pgsql – PostgreSQL
Стоп. А зачем вам сохранять выбранный регион? Если пользователь выбирает населенные пункты, то вам надо создать таблицу users_settlements со структурой: id, user_id, settlement_id
источник