I have a PostgreSQL database that stores species occurrence data. One of the fields is a true date field that indicates the date of an occurrence.
However, especially with historic data, we do not have precise information. Sometimes, for instance, it will only contain the month or year. Others, it may be a season and the year. Etc.
In the past, we handled this with a "dummy" date and additional remarks in other fields. For instance, for March 2010, we may default to 2010-03-01.
However, one of our biologists has raised some concerns over this. She doesn't like the dummy data at all.
I have searched high and low to see if Postgres would allow entering only a month and year or just a year in a date field. Conversely, whether it could have and out-of-range dates to flag no data, e.g. 2010-03 to only capture month and year or 2010 for just year or 2010-03-00 to indicate the day is missing. I am coming up empty. (This comes close: How to store dates with different levels of precision in postgres?)
Any suggestions? Am I overlooking something? Has this been addressed elsewhere before (if so, I didn't find it)?