BUG #17376: Adding unique column with a function() default results in "could not read block 0 in file" error

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: adrien(dot)gilmore+pg(at)gmail(dot)com
Subject: BUG #17376: Adding unique column with a function() default results in "could not read block 0 in file" error
Date: 2022-01-21 09:22:39
Message-ID: 17376-07b867ccc817828f@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 17376
Logged by: akg
Email address: adrien(dot)gilmore+pg(at)gmail(dot)com
PostgreSQL version: 13.5
Operating system: Linux
Description:

Hello,

SQL demonstrating the issue on 13.5 is below.

--
BEGIN;
CREATE TABLE t1 (id SERIAL PRIMARY KEY);
INSERT INTO t1 VALUES (default);

CREATE FUNCTION myfunc() RETURNS TEXT LANGUAGE plpgsql AS $$
BEGIN
SELECT r FROM t1;
RETURN random()::text;
END $$;

ALTER TABLE t1 ADD COLUMN r TEXT NOT NULL UNIQUE DEFAULT myfunc();
--

Results in the error:
ERROR: could not read block 0 in file "base/84505/84705": read only 0 of
8192 bytes

The error message content returned is what I suspect of being a bug, not so
much that this SQL didn't work.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Devrim Gündüz 2022-01-21 09:41:02 Re: BUG #17373: Missing rhel-8.3-x86_64 yum repository dir for postgresql 14
Previous Message Alexander Lakhin 2022-01-21 06:00:00 Re: BUG #17372: Altering statistics during concurrent drop can lead to a server crash