postgresql如何执行sql文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgresql如何执行sql文件相关的知识,希望对你有一定的参考价值。
在pgAdmin的窗口中,直接打开SQL文件然后执行就可以了。你所说的Oracle的执行方式,应该是在sql
plus命令窗口中执行sql文件。这个功能在PostgreSQL的命令窗口psql中也有此功能:开启psql命令窗口之后,执行命令:
\i sqlfile_path就可以执行指定的sql文件了,
其中sqlfile_path是要执行的sql文件,
如下图,
要注意的是:
在Windows系统中,路径中用的是斜杠,不是反斜杠。 参考技术A 原理:
使用"c:\program
files\postgresql\9.0\bin\psql.exe"来建立到postgresql数据库的连接后执行sql语句。
(建立数据库连接的方法,可以参考c:\program
files\postgresql\9.0\scripts\runpsql.bat文件。)
一,执行sql语句
set
db_name=temp
"c:\program
files\postgresql\9.0\bin\psql.exe"
-h
localhost
-u
postgres
-d
%db_name%
-p
5432
-w
-c
"select
*
from
table1;"
二,执行sql脚本文件
在sql语句比较复杂时,可以先把sql语句保存到文件中,然后用psql.exe执行该文件。
@rem
move
to
the
current
file's
directory
%~d0
cd
%~dp0
@rem
excute
a
sql
script
file
to
create
database
"c:\program
files\postgresql\9.0\bin\psql.exe"
-h
localhost
-u
postgres
-d
postgres
-p
5432
-w
-f
resource/db/createdb.sql
如果有多个sql脚本文件(如:a.sql,
b.sql,
c.sql),可以新建一个sql脚本文件(index.sql)来调用这多个脚本文件,这样在bat中只需要一个命令语句,而不需要多次复制相似的命令。新建index.sql文件的内容可以是:
\i
resource/db/createdb.sql
\i
resource/db/createsp.sql
\i
resource/db/insertdata.sql
备注:
在cmd窗口中输入
"c:\program
files\postgresql\9.0\bin\psql.exe"
-?
可以查找psql的相关命令。
建立了数据库连接后,可以用help命令,或者\?
查找sql命令。
以上是关于postgresql如何执行sql文件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 init.sql 在 Postgresql 中创建数据库、模式和表