【问题标题】:I'm getting this error when I want to run "npm run start:dev", do you know why?当我想运行 \"npm run start:dev\" 时出现这个错误,你知道为什么吗?
【发布时间】:2023-01-20 22:44:25
【问题描述】:
Nest] 10504  - 20/01/2023, 15:47:27   ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)...
QueryFailedError: tables can have at most 1600 columns
    at PostgresQueryRunner.query (C:\Users\Public\Backend\src\driver\postgres\PostgresQueryRunner.ts:299:19)  
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at PostgresQueryRunner.executeQueries (C:\Users\Public\Backend\src\query-runner\BaseQueryRunner.ts:609:13)
    at PostgresQueryRunner.addColumn (C:\Users\Public\Backend\src\driver\postgres\PostgresQueryRunner.ts:1039:9)
    at PostgresQueryRunner.addColumns (C:\Users\Public\Backend\src\driver\postgres\PostgresQueryRunner.ts:1053:13)
    at RdbmsSchemaBuilder.addNewColumns (C:\Users\Public\Backend\src\schema-builder\RdbmsSchemaBuilder.ts:737:13)
    at RdbmsSchemaBuilder.executeSchemaSyncOperationsInProperOrder (C:\Users\Public\Backend\src\schema-builder\RdbmsSchemaBuilder.ts:213:9)
    at RdbmsSchemaBuilder.build (C:\Users\Public\Backend\src\schema-builder\RdbmsSchemaBuilder.ts:92:13)
    at DataSource.synchronize (C:\Users\Public\Backend\src\data-source\DataSource.ts:317:9)
    at DataSource.initialize (C:\Users\Public\Backend\src\data-source\DataSource.ts:255:43)

我在想是因为某个项目插入错误,还是我不知道。

【问题讨论】:

  • Bruh,我最多有 20 列

标签: postgresql nestjs typeorm


【解决方案1】:

错误信息是“tables can have at most 1600 columns”,堆栈跟踪表明你在调用addColumn时遇到了它——所以首先要检查的是你是否已经运行了这段代码足够多的次数不小心做了一个1600列的表。

如果您有其他删除这些列的代码,您可能需要重建表;根据this,删除的列仍然计入 15.9.3.1 之前的 Postgres 版本的限制。建议的解决方法(如果您不能升级到更新的版本)是备份您的数据,删除表,然后从备份中恢复它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2023-04-02
    • 2020-09-29
    • 2020-06-15
    • 1970-01-01
    相关资源
    最近更新 更多