| From: | Igor Neyman <ineyman(at)perceptron(dot)com> | 
|---|---|
| To: | Alexander Farber <alexander(dot)farber(at)gmail(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org> | 
| Subject: | Re: Including SQL files | 
| Date: | 2016-03-21 14:49:33 | 
| Message-ID: | A76B25F2823E954C9E45E32FA49D70ECCD67FD04@mail.corp.perceptron.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
From: pgsql-general-owner(at)postgresql(dot)org [mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of Alexander Farber
Sent: Monday, March 21, 2016 10:43 AM
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: [GENERAL] Including SQL files
Hello fellow pgsql users,
I am programming a word game backend in PL/pgSQL and have already reached a point, where (too) many stored functions are declared in a single file words.sql:
# SELECT proname || '(' || oidvectortypes(proargtypes) || ')'
        FROM pg_proc INNER JOIN pg_namespace ns ON (pg_proc.pronamespace = ns.oid)
        WHERE ns.nspname = 'public' ORDER BY proname;
                            ?column?
-----------------------------------------------------------------
 test1(integer)
 words_hash(character varying)
 words_join_new_game(integer, integer)
 words_merge_users(jsonb, inet)
 words_paying_user(integer)
 words_play(integer, integer, jsonb)
 words_shuffle(character varying[])
 words_skip_game(integer, integer)
 words_surrender_game(integer, integer)
 words_swap_game(integer, integer, character varying)
 words_trigger()
 words_valid_user(integer, character varying, character varying)
(12 rows)
I would prefer to have every stored function in a separate file (which would make reading git history easier too) and include them from words.sql.
Is there such a thing for PostgreSQL 9.5.1 available please and if not - could you share your approaches here?
The "EXEC SQL INCLUDE" described at http://www.postgresql.org/docs/9.5/static/ecpg-preproc.html seems to be something different?
Regards
Alex
Psql directive \i – is your friend.
In your words.sql:
\i words_hash
\i words_join_new_game
\i …
Regards,
Igor Neyman
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Victor Yegorov | 2016-03-21 14:50:41 | Re: Including SQL files | 
| Previous Message | Pavel Stehule | 2016-03-21 14:47:15 | Re: Including SQL files |