Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do call multiple sql files in a single sql file, in postgres

For example I have aaa.sql, bbb.sql, ccc.sql.

I want to execute this 3 files from xxx.sql.

Can anyone suggest me how to do this.

share|improve this question

If you are running these files through psql you want the \i directive ("execute commands from file").


\i aaa.sql
\i bbb.sql
\i ccc.sql

If you are passing these through some other program you will need to combine the files yourself - I do not believe there is any SQL-standard way of executing external files.

share|improve this answer
Thank you for the reply. I will test and confirm if I was able to achieve it or not – Trip Feb 3 '12 at 22:13
Doesn't look like working yet Not sure if I am missing something. do I need semi colon at the end??? -Not Really !!! – Trip Feb 4 '12 at 0:04
You need to be more specific than "not working" - I assure you this does work -- Refer to the psql manual – voretaq7 Feb 4 '12 at 1:09
It worked. Finally :-) Thanku Problem was -- it was not able to recognize the file and O specifiled the relative path for the file and its working Thank you once again – Trip Feb 6 '12 at 15:34
@Trip Trip, don't forget to give voretaq credit for his answer! – Richard T Apr 12 '15 at 20:43

Not exactly what you are asking for, but will serve your purpose: 1) Put all of your script files in a folder; and 2) use a bash script to iterate through your files and run psql. For example:


for file in $SCRIPTS_DIR/*.sql
    do sudo -u postgres psql $DATABASE_NAME -f $file

This is in fact a little better because you won't have to type your files' names.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.