我尝试了多种方法来将.csv文件导入Cloud SQL(PostgreSQL),但没有成功。
psql -f import.sql不起作用。它说我必须是超级用户才能导入,但是\ copy起作用。
所以我尝试了\ copy,但是失败了。我得到:
postgres=> \copy ppw_raw FROM 'H:\data\data.csv' WITH (FORMAT csv);
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
所以最后我尝试从https://console.cloud.google.com/path-to-sql-instance
我将.csv上载到存储桶,然后单击所有按钮以将.csv(在存储桶中)导入到想要的数据库/表中,并将我要导入为的用户(创建的用户)表格,该表格拥有我要选择的数据库),
,我弹出消息:
Import failed: Import CSV error: ERROR: relation "<my-table-name>"
does not exist.
但是确实存在该表。创建表命令成功,当我描述该表时,该表存在。
我现在尝试了三种导入.csv的方法,但报告的截止日期要求很高。
任何地方的任何人都可以通过任何方式成功地将.csv文件导入Google Cloud SQL / PostgreSQL吗?
答案 0 :(得分:0)
我尝试了多种方法将自定义CSV
文件导入CloudSQL(PostgreSQL)数据库实例。似乎您正在尝试将数据导入到数据库中不存在的表中。当我尝试导入不存在的表时,我遇到了同样的错误。
要导入CSV文件,请确保:
SQL query
中添加以下命令SELECT * FROM products LIMIT 5;
。它只会从数据库中导出前5条记录,因此不会花费很多时间。要在CloudSQL(PostgreSQL)数据库中导入文件:
首先确保该表存在于数据库中。连接到您的CloudSQl(PostgreSQL)实例。运行命令SELECT * FROM pg_catalog.pg_tables;
列出所有表。如果您在列表中找到了表,则在将数据导入数据库时,请使用与Table
完全相同的名称。
将CSV文件上传到存储桶文件夹中
在SQL页面中找到CloudSQL(PostgreSQL)实例,然后单击实例的名称。
在Instance details
页上,单击Import
。
在Cloud Storage file
中,从存储桶中选择CSV文件。
在Format of import
中,选择CSV
在table
中输入要在其中导入数据的表的名称。
单击Import
,将导入数据。
我已经尝试过上述方法,并且已成功将自定义CSV文件上传到CloudSQL(PostgreSQL)。
答案 1 :(得分:0)
运行命令:
这是我在mysql中的前两个命令所做的图片:
答案 2 :(得分:0)