首页 > 解决方案 > PostgreSQL 数据时间类型的最佳数据类型

问题描述

其实我有:

CREATE TABLE public.user(
  id BIGSERIAL NOT NULL,
  nick VARCHAR(255) NOT NULL,
  email VARCHAR(255) NOT NULL,
  born DATE,
  joined DATE,
  tags text[]
);

我想选择最佳选项来节省注册时间和出生数据。我搜索了互联网,但没有找到任何好的结果。也许最好使用 python 中的时间,然后将其插入 postgres?

标签: pythonsqlpostgresql

解决方案


对于出生日期,您不需要一天中的时间,因此 aDATE是合适的。

对于注册日期,您可能希望保存日期和时间。在这种情况下TIMESTAMP会更合适。

避免使用VARCHAR来存储日期。由于它不验证任何内容,因此它将允许您存储错误信息,并且您将无法轻松计算有关它们的任何信息。例如:

  • 错误的字符串值 #1: 35-jan-2017: 此日期不存在。
  • 错误的字符串值 #2: 10-12-99:是 12 月 10 日还是 10 月 12 日?

推荐阅读