如何在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}