Get all the column names of a table...
DROP FUNCTION IF EXISTS get_column_names_csv( TEXT, TEXT ) CASCADE;
CREATE OR REPLACE FUNCTION
get_column_names_csv(input_schema_name TEXT, input_table_name TEXT)
RETURNS SETOF TEXT IMMUTABLE
AS $$
BEGIN
RETURN QUERY
WITH T1 AS (
SELECT column_name
FROM rovi.information_schema.columns
WHERE
table_name = lower(input_table_name) AND table_schema = lower(input_schema_name)
AND NOT (ordinal_position = 1 AND column_default NOTNULL)
)
SELECT string_agg(column_name, ',')
FROM T1;
END
$$ LANGUAGE plpgsql;