Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best data type for PostgreSQL datatime type

Actually I have:

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

I want to choose best option to save register time, and born data. I searched internet but didnt find any good results. Maybe its better to use time from python, and just insert it to postgres?

like image 449
Kamil Avatar asked Mar 03 '26 02:03

Kamil


1 Answers

For the birth date you don't need the time of the day, so a DATE would be appropriate.

For the registration date you probably would like to save the date and time. In this case TIMESTAMP would be more appropriate.

Avoid using VARCHAR to store dates. Since it doesn't validate anything, it will allow you to store bad information and you won't be able to compute any information on them easily. For example:

  • Bad string value #1: 35-jan-2017: this date does not exist.
  • Bad string value #2: 10-12-99: is it 10 of December, or 12 of October?
like image 136
The Impaler Avatar answered Mar 04 '26 14:03

The Impaler