Создание БД

Подскажите пожалуйста как сделать чтобы столбец с типом uuid заполнялся автоматически рандомно при заполнении таблицы вручную, тоесть например у нас есть таблица со столбцами id (тип uuid) и name (тип string). в pgadmin 4 мы кликаем правой клавишей мыши по нашей таблице, выводим первые 100 строк, пишем в столбце name какое-нибудь название, переходим на следующую строку, а столбец id заполняется автоматически

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Добавление к вопросу

На сколько поняла нужно задать функцию для рандомного заполнения в свойствах колонки в поле Default Value? пыталась туда записать gen_random_uuid(), но выдает ошибку:
ОШИБКА: функция gen_random_uuid() не существует
HINT: Функция с данными именем и типами аргументов не найдена. Возможно, вам следует добавить явные приведения типов.

подскажите пожалуйста как исправить, очень срочно нужно

Создаём функцию CREATE OR

Создаём функцию

CREATE OR REPLACE FUNCTION newid()
  RETURNS uuid AS
$BODY$
 SELECT CAST(md5(current_database()|| user ||current_timestamp ||random()) AS uuid)
$BODY$
  LANGUAGE sql VOLATILE
  COST 100;

Добавляем значение по-умолчанию на таблицу

ALTER TABLE table1
   ALTER COLUMN id SET DEFAULT newid();

Да получилось, спасибо

Да получилось, спасибо

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023