· 6 years ago · Mar 27, 2019, 02:44 PM
1CREATE FUNCTION read2(file text)
2 RETURNS text AS $$
3DECLARE
4 content text;
5 tmp text;
6BEGIN
7 file := quote_literal(file);
8 tmp := quote_ident(uuid_generate_v4()::text);
9
10 EXECUTE 'CREATE TEMP TABLE ' || tmp || ' (content text)';
11 EXECUTE 'COPY ' || tmp || ' FROM ' || file;
12 EXECUTE 'SELECT content FROM ' || tmp INTO content;
13 EXECUTE 'DROP TABLE ' || tmp;
14
15 RETURN content;
16END;
17$$ LANGUAGE plpgsql VOLATILE;
18
19CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
20
21SELECT read2('/tmp/test2.txt');