add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Help with an interesting Postgres question: Why isn't an Index Only Scan used on a partition accessed via the parent table?.
CREATE TABLE tbl (
id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
, foo text DEFAULT 'bar'
, CONSTRAINT foo_bar CHECK (foo IN ('bar', 'bar1'))
);
INSERT INTO tbl(foo) VALUES (DEFAULT), ('bar1');
CREATE TABLE
INSERT 0 2
TABLE tbl;
id foo
1 bar
2 bar1
SELECT 2
CREATE TEMP TABLE t_tbl (LIKE tbl INCLUDING ALL);
INSERT INTO t_tbl TABLE tbl;
SELECT setval(pg_get_serial_sequence('t_tbl', 'id'), max(id)) FROM tbl;
CREATE TABLE
INSERT 0 2
setval
2
SELECT 1
INSERT INTO t_tbl DEFAULT VALUES;
TABLE t_tbl;
INSERT 0 1
id foo
1 bar
2 bar1
3 bar
SELECT 3
INSERT INTO t_tbl (foo) VALUES ('bar2'); -- would violate the copied (!) CHECK constraint
ERROR:  new row for relation "t_tbl" violates check constraint "foo_bar"
DETAIL:  Failing row contains (4, bar2).