Hi. With the commit mentioned in the $subject, I am seeing the change in behaviour with the varlena header size. Please consider the below test:
postgres@83795=#CREATE TABLE test_storage_char(d char(20)); CREATE TABLE postgres@83795=#INSERT INTO test_storage_char SELECT REPEAT('e', 20); INSERT 0 1 postgres@83795=#SELECT d, pg_column_size(d) FROM test_storage_char; d | pg_column_size ----------------------+---------------- eeeeeeeeeeeeeeeeeeee | 21 (1 row) postgres@83795=#ALTER TABLE test_storage_char ALTER COLUMN d SET STORAGE PLAIN; ALTER TABLE postgres@83795=#SELECT d, pg_column_size(d) FROM test_storage_char; d | pg_column_size ----------------------+---------------- eeeeeeeeeeeeeeeeeeee | 21 (1 row) postgres@83795=#UPDATE test_storage_char SET d='ab' WHERE d LIKE '%e%'; UPDATE 1 postgres@83795=#SELECT d, pg_column_size(d) FROM test_storage_char; d | pg_column_size ----------------------+---------------- ab | 24 (1 row) After changing the STORAGE for the column and UPDATE, pg_column_size now returns the size as 24. *BEFORE Commit 86dc90056:* postgres@129158=#SELECT d, pg_column_size(d) FROM test_storage_char; d | pg_column_size ----------------------+---------------- ab | 21 (1 row) I am not sure whether this change is expected? Or missing something in the toasting the attribute? Thanks, Rushabh Lathia www.EnterpriseDB.com