\set ECHO 0 -- You should write your tests SELECT pg_datatype_password('foo', 'bar'); pg_datatype_password ---------------------- (foo,bar) (1 row) SELECT 'foo' #? 'bar' AS arrowop; arrowop ----------- (foo,bar) (1 row) CREATE TABLE ab ( a_field pg_datatype_password ); INSERT INTO ab VALUES('foo' #? 'bar'); SELECT (a_field).a, (a_field).b FROM ab; a | b -----+----- foo | bar (1 row) SELECT (pg_datatype_password('foo', 'bar')).a; a ----- foo (1 row) SELECT (pg_datatype_password('foo', 'bar')).b; b ----- bar (1 row) SELECT ('foo' #? 'bar').a; a ----- foo (1 row) SELECT ('foo' #? 'bar').b; b ----- bar (1 row) ROLLBACK;