【问题标题】:Basic questions about Cloud SQL关于 Cloud SQL 的基本问题
【发布时间】:2020-10-01 09:31:30
【问题描述】:

我正在尝试使用云存储桶填充云 sql 数据库,但出现了一些错误。 csv 将标题(或列名)作为第一行并且没有所有列(数据库中的某些列可以为空,所以我现在正在加载我需要的数据)。

数据库在 postgresql 中,这是我尝试配置的 GCP 中的第一个数据库,我有点困惑。

  1. csv 文件是否有列名是否重要?
  2. csv 文件中的列顺序是否重要? (我猜如果 csv 中不存在,他们会这样做)
  3. 表格的 PK 是一个序列号,我不包含在 csv 文件中。我还需要包括PK吗?我的意思是,因为它是一个序列号,所以它应该是“自动分配的”,对吧?

对于菜鸟问题​​感到抱歉,提前致谢:)

【问题讨论】:

    标签: postgresql csv google-cloud-sql bulk-load


    【解决方案1】:

    COPY 文档涵盖了所有这些内容。

    1. 重要的是您必须指定HEADER 选项以便跳过第一行:

      [...] 在输入时,第一行被忽略。

    2. 顺序很重要,如果 CSV 文件不包含与表格顺序相同的所有列,则必须使用 COPY 指定它们:

      COPY mytable (col12, col2, col4, ...) FROM '/dir/afile' OPTIONS (...);
      
    3. 同上:如果你在列列表中省略了一个表列,它将被填充为默认值,在这种情况下是自动生成的数字。

    【讨论】:

    • 嗨@Laurenz Albe,谢谢你的回答。我花了一点时间来完成这项工作,但你的回答让我走上了正确的道路:)
    猜你喜欢
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多