Load sql file data in to single table in postgres
我有sql文件(single_table_data.sql),其中只包含一个表的数据(我从服务器只转储了一个表)
现在我必须将此sql文件插入到我的数据库中的单个表中,
那么如何将sql文件导入到postgres中的单个表中?
编辑
例如,我有数据库名称SpeedData和表名CurrentTable,所以现在我想
将整个sql文件数据插入此表CurrentTable
注意:sql文件只包含insert statements(甚至不包含create语句)
-
导入sql转储到postgresql数据库的可能重复
从文档:
这应该创建一个新表,其中包含先前转储的名称,并将所有数据插入其中。 在您的情况下(single_table_data.sql)将dbname替换为新数据库的名称,将infile替换为包含转储的文件的名称/路径
如果转储仅包含insert语句,请手动创建表,然后执行
psql -U your_username -d dbname -f single_table_data.sql
-
我在sql文件中只有insert语句,甚至没有表create语句,所以上面的命令如何知道要将数据插入哪个表? 我已经编辑了我的问题,请看一下
-
@shivakrishna看到我的编辑
-
哦,根本没有必要提到表名? 只是数据库,用户名就足够了?
-
Jep,表名在insert语句中给出。
-
问题是,如果转储文件中引用的表与您创建的表不同,则导入将失败。 但您可以使用ALTER TABLE name RENAME TO new_name重命名表
如果我理解正确,您想要从文件创建表并填写数据。
正确的命令是
1
| PGPASSWORD=<password> psql -f /home/.../filename.sql -h localhost -d database_name -U user_name |