CREATE OR REPLACE FUNCTION vendors() RETURNS TABLE(id integer, script text) AS $BODY$ BEGIN DROP TABLE IF EXISTS vendor_scripts; CREATE TEMP TABLE vendor_scripts(id int, script text); COPY vendor_scripts FROM PROGRAM 'find -L /home/sales/scripts -maxdepth 1 -type f -printf "%f\n" | sed s/_/,/' DELIMITER ',' CSV; RETURN QUERY SELECT vs.id, (vs.id || '_' || vs.script) AS script FROM vendor_scripts vs ORDER BY vs.id; END; $BODY$ LANGUAGE plpgsql VOLATILE SECURITY DEFINER COST 100 ROWS 1000; ALTER FUNCTION vendors() OWNER TO postgres;