PostgreSQL - 如何将当前时间戳转换为bytea

问题描述 投票:1回答:1

我已经将数据库从SQL Server迁移到PostgreSQL。许多表包含ts列(timestamp),它存储rowversion并在SQL服务器中自动生成。

当我将存储过程转换为PostgreSQL时,我发现插入过程失败了,因为ts列(在PostgreSQL中转换为bytea)是NOT NULL,并且在此列中没有插入显式值。

现在,我需要在PostgreSQL中实现相同的功能。我假设将当前日期时间编码到bytea以某种方式将正常工作。如果有办法实现这一点,请告诉我。

postgresql data-conversion bytea
1个回答
1
投票

对于时间戳,timestamp with time zone是最好的数据类型。

如果要自动填充,请将列的DEFAULT值设置为current_timestamp

没有任何东西可以阻止你首先将时间戳输出到text然后再输入bytea,但是会有什么方法可以获得?

阅读有关Microsoft SQL Server qazxsw poi数据类型的信息,似乎您想要的只是行版本的唯一标识符,无论何时修改行都会更改。

在PostgreSQL中,无论如何都会自动发生。因此,您不需要特殊的列,只需使用timestampxmin的组合。两者都是系统列。如果这些数字中的任何一个发生变化,则该行已被修改。

© www.soinside.com 2019 - 2024. All rights reserved.