Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oQ4tZ-0003Kd-74 for pgsql-general@arkaria.postgresql.org; Mon, 22 Aug 2022 10:43:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oQ4tX-00014o-JG for pgsql-general@arkaria.postgresql.org; Mon, 22 Aug 2022 10:42:59 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oQ4tW-00014X-HB for pgsql-general@lists.postgresql.org; Mon, 22 Aug 2022 10:42:59 +0000 Received: from out4-smtp.messagingengine.com ([66.111.4.28]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oQ4tR-0006WA-0k for pgsql-general@lists.postgresql.org; Mon, 22 Aug 2022 10:42:58 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 70AC55C018B; Mon, 22 Aug 2022 06:42:48 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Mon, 22 Aug 2022 06:42:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:reply-to:sender :subject:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1661164968; x=1661251368; bh=I inaK6Y2xd1LcRopbUhP2DFADtH5FFcWt569B8NY5sw=; b=UfM40klOziJ+BzMhO /JxHOc2ITHMKqruJZjc6SpqBVeKG3hts6v+5cW9fPvHBk3ufW8Iw2wA449J2+fRn VgrTJoRbOrYqvT0uuFpfauGXBsDWFTheKX9pY6wlwaW4IvH8rqxowEyDcG3MNbmg J6FthzmWc6wm3bwGUv05VkLJg6rllbstfRRtnGcuwTm5L1AvgxgEqb213o1FDwni TlwQHhR7FC2XZAv3VfhMSnLaxT0BFYMz48dXw/2Zksfw2dwZbZXWMJP2lfqpFl6c CM+wqoiEk8ZxMUbhKohvwlOtz0LR6sjNtrfOuPP+h2fbSAR/H5BuesPmtNdq3KVD 3Reow== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdeijedgfedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvfevuffkgggtugfgjgesthekredttddtjeenucfhrhhomheptehlvhgr rhhoucfjvghrrhgvrhgruceorghlvhhhvghrrhgvsegrlhhvhhdrnhhoqdhiphdrohhrgh eqnecuggftrfgrthhtvghrnhepteektdekvddvteettdevjeehueehudekfeekgeffffej veeuueeluefhteduudeunecuffhomhgrihhnpehgihhthhhusgdrtghomhdpuggrthgvrd hphienucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegr lhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhg X-ME-Proxy: Feedback-ID: ia2694551:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 22 Aug 2022 06:42:47 -0400 (EDT) Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id 603C0373; Mon, 22 Aug 2022 12:42:47 +0200 (CEST) Date: Mon, 22 Aug 2022 12:42:47 +0200 From: Alvaro Herrera To: stefan eichert Cc: "Watzinger, Alexander" , "pgsql-general@lists.postgresql.org" Subject: Re: Support for dates before 4713 BC Message-ID: <20220822104247.buetqd6fbye3s5cc@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hello Stefan, Alexander, On 2022-Aug-22, stefan eichert wrote: > I can also fully support what Alex has written. I am an archaeologist at > the Natural History Museum Vienna and PostgreSQL is a perfect Open Source > software and we really love working with it for our archaeological and > (pre)historical projects. > [...] This made me remember the stuff genealogists use -- a complex datatype that encodes not just some number on a specific calendar, but also a "quality" marker (precise, calculated, estimated) as well as a calendar identifier (Gregorian, Islamic, Hebrew etc). For example, GRAMPS has this: https://github.com/gramps-project/gramps/blob/master/gramps/gen/lib/date.py#L531 I'm not familiar with the details, but skimming through that source might give you some ideas. Judging from your description and Alexander's, it sounds like you should dedicate some time to developing a specification for a complex datatype to use with archaeological or what have you. I suppose you would want to store type of date it is, its precision, the value itself, a degree of fuzziness, and maybe some other properties that you know better than I do. Then get someone to implement an open source custom datatype based on that spec, which everybody then uses. Using "regular" calendars is unlikely to be a good match. -- Álvaro Herrera