如何在PostgreSQL 8.4中导入现有的* .sql文件?
我正在使用PostgreSQL 8.4,我有一些* .sql文件导入到数据库。 我怎么能这样做?
从命令行:
psql -f 1.sql psql -f 2.sql
从psql
提示符下:
\i 1.sql \i 2.sql
请注意,您可能需要按特定顺序导入文件(例如:数据操作前的数据定义)。 如果你有bash
shell(GNU / Linux,Mac OS X,Cygwin) 并且这些文件可能按字母顺序导入 ,那么你可以使用这个命令:
for f in *.sql ; do psql -f $f ; done
这里是psql
应用程序的文档(谢谢,弗兰克): http : //www.postgresql.org/docs/current/static/app-psql.html
在命令行中首先到达psql所在的目录,然后像这样写命令:
psql [database name] [username]
然后按回车psql要求input密码给用户密码:
然后写
> \i [full path and file name with extension]
然后按input插入完成。
那么,我知道的最短的方式如下:
psql -U {user_name} -d {database_name} -f {file_path} -h {host_name}
database_name:你应该在哪个数据库中插入文件数据。
file_path:要执行导入的文件的绝对path。
host_name:主机的名称。 为了开发目的,它大部分是localhost
。
在控制台input此命令后,系统将提示您input密码。
请小心“/”和“\”。 即使在Windows上,命令也应该是这样的forms:
\ic:/1.sql
始终优先使用连接服务文件 (lookup / google'psql连接服务文件')
然后简单地:
psql service={yourservicefile} < {myfile.sql}