I am Yonathan Misgan from Ethiopia, want to add some functionalities on 
PostgreSQL to support Ethiopian locales. I want your advice where I start to 
hack the PostgresSQL source code. I have attached some synopsis about the 
existing problems of PostgresSQL related with Ethiopian locale specially 
related with calendar, date and time format. Please don't mind about date and 
time written with Amharic because I used only to show the problems.
Calendar: A calendar is a system of organizing days for social, religious, 
commercial or administrative purposes. This is done by giving names to periods 
of time, typically days, weeks, months and years. A date is the designation of 
a single, specific day within such a system. The Gregorian calendar is the most 
widely used calendar in the world today specially for database and other 
computer system. It is the calendar used in the international standard for 
representation of dates and times: ISO 8601:2004. It is a solar calendar based 
on a 365 days common year divideinto 12 months of irregular lengths 11 of the 
months have either 30 or 31 days, while the second month, February, has only 28 
days during the common year. However, nearly every four years is a leap year, 
when one extra or intercalary day is added on February. Making the leap year in 
the Gregorian calendar 366 days long. The days of the year in the calendar are 
divided into 7 days weeks. The international standard is to start the week on 
Monday. However, several countries, including the Ethiopia, US and Canada, 
count Sunday as the first day of the week .
The Ethiopian calendar is the principal calendar used in Ethiopia and serves as 
the liturgical year for Christians in Eritrea and Ethiopia belonging to the 
Eritrean Orthodox Tewahedo Church, Ethiopian Orthodox Tewahedo Church, Eastern 
Catholic Churches and Coptic Orthodox Church of Alexandria. The Ethiopian 
calendar has difference with the Gregorian calendar in terms of day, month and 
year. Like the Coptic calendar, the Ethiopic calendar has 12 months of 30 days 
plus 5 or 6 epagomenal days, which comprise a thirteenth month. Maybe the 
clearest example of the different ways cultures view the world around them is 
demonstrated by our perceptions of the nontangible entity of time. The seven 
days week is nearly universal but we disagree on what we consider the first day 
of the week to be. This is the case even under the same calendar system.
Date and Time: Ethiopia shares the 24 hour day convention with the rest of the 
world but differs on when the day begins. The two part day division around 
mid-day (AM for anti-meridian and PM for post-meridian) is also a foreign 
notion taken for universal in localization systems. Where the “<am>” and “<pm>” 
day divisions of Amharic translation is an approximation that is no more than 
serviceable:
<am>ጠዋት</am> and <pm>ከሰዓት</pm>
While these translations could be understood under the context of the foreign 
conventions that they map, they are not ideal for Ethiopia. Naturally, Ethiopia 
will want to apply its own conventions that are already millennium old. ጠዋት, 
ረፋድ, እኩለ ቀን, እኩለ ሌሊት some of the examples of day division in Ethiopia. Ethiopia 
does not have a well-established preference for digital time formats in 
database system and other computer systems, but we want to establish 
computerized systems into a society. An example digital time format under 
United States English conventions appears as: Mon 27 Feb 2018 12:00:00 PM EAT
The equivalent date and time under the Ethiopian Amharic convention as 
available on Linux systems today appears as:
ማክሰ ፌብሩ 26 ቀን 12: 00: 00 ከሰዓት EAT 2018 ዓ/ም
This represents a loose mapping of some Amharic conventions onto an external 
reckoning of time. This is only translation and not localization in its truest 
sense. A hypothetical Ethiopic date and time presentation might looks as:
ማክሰኞ፣ የካቲት 19 ቀን 6: 00: 00 እኩለ ቀን 2010 ዓ/ም or
ማክሰኞ፣ የካቲት 19 ቀን 6: 00: 00 እኩለ ቀን፳ ፻ ፲ዓ/ም
Let see the drawbacks that exist in PostgreSQL with examples
Most of the database systems use time stamp to store data is in Gregorian 
calendar system for specific time zone.
However, most the data in Ethiopia are available with Ethiopian calendar system 
and users in Ethiopia are not comfortable with the Gregorian calendar as they 
use Ethiopian calendar in their day-to-day activities. This usually create 
inconvenience when the user want to have a reference to Ethiopic date as they 
had Gregorian calendar at database system. An example query to demonstrate this 
is given below.
 Q2: Select current_date;
Q2 returns ‘2019-08-08’ but currently in Ethiopia calendar the year is ‘2011’,
 Q3: Select to_char(to_timestamp(to_char(4, '999'), 'MM'), 'Month');
Q3 returns ‘April’ whereas the 4th month is ታህሳስ(December) in Ethiopian 
calendar system.
 Q4: Select to_char(to_timestamp (to_char(13, '999'), 'MM'), 'Month');
Q4 returns an error message since the GC have only ‘12’ month per a year.
Where Q2, Q3 and Q4 are queries.

Reply via email to