Size: a a a

pgsql – PostgreSQL

2020 June 14

ЕР

Евгений Ры́марев... in pgsql – PostgreSQL
2flower _
зачем каждое поле, равенство это когда оба входят друг в друга.

@>  jsonb  Левое значение JSON содержит на верхнем уровне путь/значение JSON справа?  '{"a":1, "b":2}'::jsonb @> '{"b":2}'::jsonb

у вас по идее js1@>js2 and js2@>js1
о_О
источник

ЕР

Евгений Ры́марев... in pgsql – PostgreSQL
2flower _
еще один вылечился. :)
Та я и не болел. Просто не знал о таких тонкостях.
источник

ЕР

Евгений Ры́марев... in pgsql – PostgreSQL
2flower _
зачем каждое поле, равенство это когда оба входят друг в друга.

@>  jsonb  Левое значение JSON содержит на верхнем уровне путь/значение JSON справа?  '{"a":1, "b":2}'::jsonb @> '{"b":2}'::jsonb

у вас по идее js1@>js2 and js2@>js1
не уверен, что Алхимия умеет в такие сравнения, но попробую
источник

КТ

Кайржан Турмагамбето... in pgsql – PostgreSQL
Всем привет. Подскажите, может ли таблица на 1тб, с >млрд записями зависнуть на час в процессе добавления нового столбца.
Диски ssd
источник

꧁S

꧁Александр Smirnov꧂... in pgsql – PostgreSQL
Кайржан Турмагамбетов
Всем привет. Подскажите, может ли таблица на 1тб, с >млрд записями зависнуть на час в процессе добавления нового столбца.
Диски ssd
Может и не на час. Если по ней еще другие транзакции проходят
источник

КТ

Кайржан Турмагамбето... in pgsql – PostgreSQL
꧁Александр Smirnov꧂
Может и не на час. Если по ней еще другие транзакции проходят
Нет, все потушили. Только алтер был
источник

КТ

Кайржан Турмагамбето... in pgsql – PostgreSQL
Работала только реплика на 2 слейва
источник

ЕР

Евгений Ры́марев... in pgsql – PostgreSQL
var::json - это алиас для cast(var as json)?
источник

BB

B B in pgsql – PostgreSQL
Все привет, я нуб, который нуждается в вашей помощи :) Мне нужно создать таблицы с условием many to many. Я ее создал, но в link table, где, скажем, есть studentID, classID, строки пустые, хотя я добавил данные в таблицы справочники. Вопрос. Так должно быть?
источник

BB

B B in pgsql – PostgreSQL
Дело в том, что мне нужно добавить данные в таблицы связи, но они не добавляются чтобы я не пробовал, пишет updated rows 0
источник

СГ

Сергей Голод... in pgsql – PostgreSQL
B B
Все привет, я нуб, который нуждается в вашей помощи :) Мне нужно создать таблицы с условием many to many. Я ее создал, но в link table, где, скажем, есть studentID, classID, строки пустые, хотя я добавил данные в таблицы справочники. Вопрос. Так должно быть?
вы же скрываете от нас как создавали, как добавляли. Как вам помочь?
источник

BB

B B in pgsql – PostgreSQL
А сюда можно скрин или код кинуть?
источник

ЕР

Евгений Ры́марев... in pgsql – PostgreSQL
B B
А сюда можно скрин или код кинуть?
через пасту
источник

BB

B B in pgsql – PostgreSQL
create schema my_schema
create table nation (
nation_id serial,
nation_name varchar (255) unique not null,
primary key (nation_id)
)
create table country (
country_id serial,
country_name varchar (255) unique not null,
primary key (country_id)
)
create table "language" (
language_id serial,
language_name varchar (255) unique not null,
primary key (language_id)
)
create table lang_nat (
language_id integer unique not null,
nation_id integer unique not null,
foreign key (language_id) references "language" (language_id),
foreign key (nation_id) references nation (nation_id)
)
create table nat_country (
nation_id integer unique not null,
country_id integer unique not null,
foreign key (country_id) references country (country_id),
foreign key (nation_id) references nation (nation_id)
);
источник

BB

B B in pgsql – PostgreSQL
Затем я добавляю по пять строк в каждую таблицу:
источник

BB

B B in pgsql – PostgreSQL
insert into my_schema.country (country_name)
values ('Russia'), ('China'), ('France'), ('Canada'), ('Germany');

insert into my_schema.language (language_name)
values ('Russian'), ('Chinese'), ('French'), ('English'), ('German');

insert into my_schema.nation (nation_name)
values ('Han'), ('Nederlanders'), ('Greeks'), ('Armenians'), ('Buryats');
источник

BB

B B in pgsql – PostgreSQL
а потом добавляю новые поля (КОТОРЫЕ нужно закинуть в таблицу связей
источник

BB

B B in pgsql – PostgreSQL
alter table my_schema.country add column religion text[];

update my_schema.country as c
set religion = r.religion
from (values
   (array['Russian Orthodoxy', 'Islam'], 1),
   (array['Buddhism', 'Taoism', 'Islam', 'Christianity'], 2),
   (array['Catholicism', 'Islam', 'Judaism', 'Buddhism', 'Hinduism', 'Sikhism'], 3),
   (array['Christianity', 'Islam'], 4),
   (array['Christianity', 'Islam'], 5)
) as r (religion, country_id)
where r.country_id = c.country_id;

alter table my_schema.country add column bilingual boolean;

update my_schema.country as c
set bilingual = b.bilingual
from (values
   (false, 1),
   (false , 2),
   (false, 3),
   (true, 4),
   (false, 5)
) as b (bilingual, country_id)
where b.country_id = c.country_id;

alter table my_schema.country add column national_day timestamp;

update my_schema.country as c
set national_day = n.national_day
from (values
   (timestamp '1970-06-12 00:00:00', 1),
   (timestamp '1970-10-01 00:00:00', 2),
   (timestamp '1970-07-14 00:00:00', 3),
   (timestamp '1970-07-01 00:00:00', 4),
   (timestamp '1970-10-03 00:00:00', 5)
) as n (national_day, country_id)
where n.country_id = c.country_id;
источник

BB

B B in pgsql – PostgreSQL
Сейчас стоит старый код на добавление в таблицы справочники, забыл поменять, но смысл остаётся прежним - добавить новые данные в link table никак не получается. Я уже не знаю что делать, чувствую себя полным идиотом ;(
источник

BB

B B in pgsql – PostgreSQL
я думаю проблема как раз в том, что таблицы связи у меня получаются пустые
источник