CREATE TABLE delete_test (
    id SERIAL PRIMARY KEY,
    a INT,
    b text
);
NOTICE:  CREATE TABLE will create implicit sequence "delete_test_id_seq" for serial column "delete_test.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "delete_test_pkey" for table "delete_test"
INSERT INTO delete_test (a) VALUES (10);
INSERT INTO delete_test (a, b) VALUES (50, repeat('x', 10000));
INSERT INTO delete_test (a) VALUES (100);
-- allow an alias to be specified for DELETE's target table
DELETE FROM delete_test AS dt WHERE dt.a > 75;
-- if an alias is specified, don't allow the original table name
-- to be referenced
DELETE FROM delete_test dt WHERE delete_test.a > 25;
ERROR:  invalid reference to FROM-clause entry for table "delete_test"
LINE 1: DELETE FROM delete_test dt WHERE delete_test.a > 25;
                                         ^
HINT:  Perhaps you meant to reference the table alias "dt".
SELECT id, a, char_length(b) FROM delete_test;
 id | a  | char_length 
----+----+-------------
  1 | 10 |            
  2 | 50 |       10000
(2 rows)

-- delete a row with a TOASTed value
DELETE FROM delete_test WHERE a > 25;
SELECT id, a, char_length(b) FROM delete_test;
 id | a  | char_length 
----+----+-------------
  1 | 10 |            
(1 row)

DROP TABLE delete_test;
