我试图使用云存储桶填充云sql数据库,但遇到了一些错误。csv的标题(或列名(作为第一行,而不是所有列(数据库中的某些列可能为null,所以我现在正在加载我需要的数据(。
数据库在postgresql中,这是我试图配置的GCP中的第一个数据库,我有点困惑。
- csv文件是否有列名有关系吗
- csv文件中列的顺序是否重要?(如果csv中不存在,我想他们会这样做(
- 该表的PK是一个序列号,我不会将其包含在csv文件中。我还需要包括PK吗?我的意思是,因为它是一个序列号,所以应该是";"自动分配";,对吧
很抱歉收到noob问题,并提前感谢:(
这都在COPY
文档中介绍。
-
重要的是,您必须指定
HEADER
选项,以便跳过第一行:[…]在输入时,第一行被忽略。
-
顺序很重要,如果CSV文件不包含与表相同顺序的所有列,则必须使用
COPY
:指定它们COPY mytable (col12, col2, col4, ...) FROM '/dir/afile' OPTIONS (...);
-
如上所述:如果在列列表中省略了一个表列,它将填充默认值,在这种情况下,它是自动生成的数字。