Size: a a a

pgsql – PostgreSQL

2020 July 20

МЮ

Макс Юю in pgsql – PostgreSQL
я не нашел там как установить значение ключа если честно
источник

2_

2flower _ in pgsql – PostgreSQL
Макс Юю
подскажите пожалуйста как принудительно выставить значение primary key в таблице
я вообще вопрос не понял
и судя по всему не я один
источник

МЮ

Макс Юю in pgsql – PostgreSQL
у меня есть 10 записей в таблице
при вставке я указывал id
счетчик pk на 0 сейчас
при вставке без указания id ошибка "дубликат первичного ключа"

можно ли запросом сделать чтоб pk сразу стал 10?
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Макс Юю
у меня есть 10 записей в таблице
при вставке я указывал id
счетчик pk на 0 сейчас
при вставке без указания id ошибка "дубликат первичного ключа"

можно ли запросом сделать чтоб pk сразу стал 10?
Учить матчасть! В полном объёме! Особ енно терминологию.
* попробовал включить телепатию: https://postgrespro.ru/docs/postgresql/11/sql-altersequence
источник

МЮ

Макс Юю in pgsql – PostgreSQL
Михаил Шурутов
Учить матчасть! В полном объёме! Особ енно терминологию.
* попробовал включить телепатию: https://postgrespro.ru/docs/postgresql/11/sql-altersequence
выучил матчасть
передаю по телепатическому каналу

получаем SEQUENCE
SELECT adsrc FROM pg_attrdef WHERE adrelid = (SELECT oid FROM pg_class WHERE relname = 'table');  -- nextval('table_seq'::regclass)
затем устанавливаем ему значение
ALTER SEQUENCE table_seq RESTART WITH 300;

всем не равнодушным спасибо за помощь
источник

IK

Igor Komarov in pgsql – PostgreSQL
Подскажите пожалуйста, еще один вопрос по партициям. Допустим, мне хотелось бы сделать разбивку по двум вариантам:  

1. Дата в формате YYYY-MM-W
2. Дата в формате YYYY-MM

Не будет ли проблем (дублирование данных, если оно может присутствовать, мне не принципиально) при частичном или полном наслоении нескольких партиций?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Igor Komarov
Подскажите пожалуйста, еще один вопрос по партициям. Допустим, мне хотелось бы сделать разбивку по двум вариантам:  

1. Дата в формате YYYY-MM-W
2. Дата в формате YYYY-MM

Не будет ли проблем (дублирование данных, если оно может присутствовать, мне не принципиально) при частичном или полном наслоении нескольких партиций?
Хмм... а что это за тип поля? Если text, то почему Вы так даты храните?
И partitions не могут наслаиваться (каждый row должен принадлежать только одной partition).
источник

MD

Memory Doctor in pgsql – PostgreSQL
Igor Komarov
Подскажите пожалуйста, еще один вопрос по партициям. Допустим, мне хотелось бы сделать разбивку по двум вариантам:  

1. Дата в формате YYYY-MM-W
2. Дата в формате YYYY-MM

Не будет ли проблем (дублирование данных, если оно может присутствовать, мне не принципиально) при частичном или полном наслоении нескольких партиций?
у вас не получится дублировать при партиционировании
источник

IK

Igor Komarov in pgsql – PostgreSQL
Memory Doctor
у вас не получится дублировать при партиционировании
Понял, спасибо.
источник

IK

Igor Komarov in pgsql – PostgreSQL
Yaroslav Schekin
Хмм... а что это за тип поля? Если text, то почему Вы так даты храните?
И partitions не могут наслаиваться (каждый row должен принадлежать только одной partition).
Кривые данные из аналитики. Нет особенного рвения везде к нужным типам приводить. Пока работает, не очень принципиально. Разбиение делаю чтобы удобнее/быстрее по периодам было метрики считать
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Igor Komarov
Кривые данные из аналитики. Нет особенного рвения везде к нужным типам приводить. Пока работает, не очень принципиально. Разбиение делаю чтобы удобнее/быстрее по периодам было метрики считать
А почему Вы думаете, что "разбиение" как-то поможет Вам в расчёте метрик?
Если они нетривиальные — запросто сделаете только [возможно, намного] хуже.
источник

IK

Igor Komarov in pgsql – PostgreSQL
Yaroslav Schekin
А почему Вы думаете, что "разбиение" как-то поможет Вам в расчёте метрик?
Если они нетривиальные — запросто сделаете только [возможно, намного] хуже.
Потому что на текущий момент бОльшая часть метрик считается именно в разрезах по этим разбиениям. То есть практически всегда будет вполне себе заметный буст
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Igor Komarov
Потому что на текущий момент бОльшая часть метрик считается именно в разрезах по этим разбиениям. То есть практически всегда будет вполне себе заметный буст
Понятно. В этом случае может помочь, да (и чем новее версия PostgreSQL, тем больше, кстати).
источник

R

Roman in pgsql – PostgreSQL
Подскажите плз, какой самый простой способ дернуть функцию много раз и вернуть результат всех вызовов?
E.g. generate_uuid 100 раз вызвать и вернуть 100 uuid’ов
источник

R

Roman in pgsql – PostgreSQL
Roman
Подскажите плз, какой самый простой способ дернуть функцию много раз и вернуть результат всех вызовов?
E.g. generate_uuid 100 раз вызвать и вернуть 100 uuid’ов
Сделал так, ничего проще не придумал

CREATE OR REPLACE FUNCTION generate_uuids(p_amount int DEFAULT 1)
RETURNS TABLE (uuid uuid)
LANGUAGE plpgsql
AS $$
BEGIN
FOR _ IN 1 .. p_amount LOOP
 RETURN query
  SELECT uuid_generate_v4();
END LOOP;
END $$;


SELECT * FROM generate_uuids(100);
источник

АП

Артем Пешков... in pgsql – PostgreSQL
подскажите пожалуйста - при команде psql  показывает ошибку  psql: error: could not connect to server: could not connect to server: Connection refused
 Is the server running locally and accepting
 connections on Unix domain socket "/tmp/.s.PGSQL.5432"?         что можно попробовать сделать? гугление слабо помогло чет)  макось
источник

2_

2flower _ in pgsql – PostgreSQL
Roman
Сделал так, ничего проще не придумал

CREATE OR REPLACE FUNCTION generate_uuids(p_amount int DEFAULT 1)
RETURNS TABLE (uuid uuid)
LANGUAGE plpgsql
AS $$
BEGIN
FOR _ IN 1 .. p_amount LOOP
 RETURN query
  SELECT uuid_generate_v4();
END LOOP;
END $$;


SELECT * FROM generate_uuids(100);
SELECT uuid_generate_v4() FROM generate_series(1,100);
источник

R

Roman in pgsql – PostgreSQL
2flower _
SELECT uuid_generate_v4() FROM generate_series(1,100);
сильно проще, спасибо :)
источник

2_

2flower _ in pgsql – PostgreSQL
Roman
сильно проще, спасибо :)
это еще и быстрее должно быть, т.к. нативный sql
источник

R

Roman in pgsql – PostgreSQL
2flower _
это еще и быстрее должно быть, т.к. нативный sql
да, примерно на 10% быстрее
50k циклов по 10 uuid’s на каждый
mode      user       system     total    real
function  5.591085   0.816837   6.407922 ( 46.675216)
series    5.424023   0.796441   6.220464 ( 41.467811)


спасибо)
источник