将windows上的.sql文件导入postgresql
我有一个.sql文件,它是postgresql不久前创建的。我现在想将此文件导入到运行postgresql的windows计算机上 我该怎么做呢。该文件大约为1.5gb。您应该使用命令行工具:将windows上的.sql文件导入postgresql,sql,windows,postgresql,import,Sql,Windows,Postgresql,Import,我有一个.sql文件,它是postgresql不久前创建的。我现在想将此文件导入到运行postgresql的windows计算机上 我该怎么做呢。该文件大约为1.5gb。您应该使用命令行工具: psql -h hostname -p port_number -U username -f your_file.sql databasename 这也适用于我: psql dbname username < file.sql psql dbname username
psql -h hostname -p port_number -U username -f your_file.sql databasename
这也适用于我:
psql dbname username < file.sql
psql dbname username
单击SQL Shell并登录数据库并使用导入
Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.2.4)
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.
postgres=# \i c:/data/data01.sql
启动psql命令工具,它将为您提供如下对话框
Server [localhost]:
Database [postgres]:
Port [5432]:yourport
Username [postgres]:
Password for user postgres:**********
然后连接到您的数据库
postgres=# \c yourdatabase;
然后导入文件
yourdatabase=# \i c:/path/path/data/data01.sql
注意/for目录分隔符&文件路径中没有空格
打开并键入以下内容(确保postgres的路径正确)
“C:\ProgramFiles\PostgreSQL\9.4\bin\psql.exe”-h 127.0.0.1-p 5432-U postgres-d dbnamepsql-U
如果提示让您输入密码,请执行此操作。
\c
\i'路径/delimiter.sql'
你需要注意两点
- 使用
作为文件的写入路径,而不是/
\
- 使用单引号
符号
而不是”
“
.\psql -f TestFile.sql $connString
.\psql -c 'SELECT Version();' $connString
无法在windows上工作(URI连接在参数之前):
只需注意一点:“好的观点。我已经用了这么长时间,我忘记了它们的区别!注意倒“/”符号,而不是Windows中通常使用的“\”。这给了我“C::Permission denied”,我也尝试过更换磁盘。即使以管理员身份运行,也没有得到修复。请确认您使用的是“/”而不是上面提到的“\”@jakub。这是非常重要的。如果有空格,请用引号将路径括起来
.\psql -f TestFile.sql $connString
.\psql -c 'SELECT Version();' $connString
.\psql $connString -c 'SELECT Version();'