CREATE TABLE test_table ( some_column integer, another_column text ); CREATE TYPE test_type as ( some_type test_table.some_column%TYPE ); Gives me: ERROR: syntax error at or near "%" at character 62 LINE 2: some_type test_table.some_column%TYPE I also can't define rowtypes as return types on functions: CREATE OR REPLACE FUNCTION get_test_table_single() RETURNS test_table%ROWTYPE AS $$ DECLARE v_single test_table%ROWTYPE; BEGIN SELECT * INTO v_single FROM test_table LIMIT 1; RETURN v_single; END; $$ LANGUAGE plpgsql; Gives me: ERROR: syntax error at or near "%" at character 65 LINE 2: RETURNS test_table%ROWTYPE AS $$ Can somebody tell me what I'm doing wrong? This is driving me insane. Geoff ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings