Функция CurrVal возвращает значение null во встроенной базе данных Postgres
Я пытаюсь использовать функцию currVal во встроенной базе данных postgres, чтобы получить значение, которое я вставил в оператор вставки в том же сеансе. Пожалуйста, найдите приведенный ниже код для того же.
Определение таблицы учеников:
CREATE TABLE student (
id bigserial NOT NULL,
name varchar(255) NOT NULL,
number int8 NOT NULL,
);
CREATE TABLE student_course (
student_id foreign_key references student(id),
course_name varchar(255) NOT NULL
);
Запрос для вставки учащегося:
insert into student (name,number)
values("Student1","55");
Запрос на получение столбца идентификатора:
insert into student_course
select currval(pg_get_serial_sequence('student','id')), 'course1';
Оба запроса на вставку выполняются в одном сеансе, но я получаю нулевое значение при использовании функции currVal для получения вставленного идентификатора.
Те же запросы отлично работают с реальной базой данных, но не работают во встроенном расширении. Я использую образ докера postgis для встроенной базы данных.