无法更改列,因为它是分区键的一部分

m4pnthwp  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(695)

由于Npgsql 6.0,我想使用以下MigrationBuilder命令将基表SysLog中的一列从类型“不带时区的时间戳”更改为“带时区的时间戳”:

migrationBuilder.AlterColumn<DateTime>(
                name: "Inserted",
                table: "SysLog",
                type: "timestamp with time zone",
                nullable: true,
                oldClrType: typeof(DateTime),
                oldType: "timestamp without time zone",
                oldNullable: true);

错误消息:Npgsql.PostgresException: '42P16: cannot alter column "Created" because it is part of the partition key of relation "SysLog"'
有什么办法解决这个问题吗?

lxkprmvk

lxkprmvk1#

此错误表示您的表为列“已创建”配置了属性。这会阻止更改列类型。https://www.postgresql.org/docs/current/ddl-partitioning.html
在更改列类型之前,必须删除分区或者复制表,更改类型并重命名

相关问题