<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - wykorzystanie lc_time w to_char]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=1488</link>
		<description><![CDATA[Najświeższe odpowiedzi w wykorzystanie lc_time w to_char.]]></description>
		<lastBuildDate>Sun, 28 Apr 2013 21:34:41 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: wykorzystanie lc_time w to_char]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=4165#p4165</link>
			<description><![CDATA[Dla potomnych :)
Zawsze dokładnie czytaj dokumentacje. Okazuje się, że opcje te nie działają jeśli używasz polecenie set session authorization, po zalogowaniu na użytkownika test_de wszystko działa.]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Sun, 28 Apr 2013 21:34:41 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=4165#p4165</guid>
		</item>
		<item>
			<title><![CDATA[wykorzystanie lc_time w to_char]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=4164#p4164</link>
			<description><![CDATA[Chciałbym wykorzystać funkcje to_char w systemie, gdzie będą pracowali użytkownicy z kilku krajów, tak by każdy użytkownik widział datę sformatowana w swoim języku.
Ustawiłem więc dla użytkowników opcje lc_time (poniżej skrypt)

CREATE ROLE test_pl LOGIN VALID UNTIL 'infinity';
ALTER ROLE test_pl SET lc_time = 'Polish, Polish';
ALTER ROLE test_pl SET lc_messages = 'Polish, Polish';
CREATE ROLE test_de LOGIN VALID UNTIL 'infinity';
ALTER ROLE test_de SET lc_time = 'German, German';
ALTER ROLE test_de SET lc_messages = 'German, German';

Baza ma domyślnie ustawioną opcje lc_time jako Polish, a próba wykonania poniższego select-a kończy się wyświetleniem daty w języku domyślnym bazy.

set session authorization test_de;
select to_char(current_date,'yyyy-TMMONTH') as tlumaczenie;

Mogę co prawda wymusić prawidłowe działanie korzystając z set lc_time tak jak niżej pokazuje ale myślę że można skonfigurować serwer tak by robił to automatycznie w zależności od zalogowanego użytkownika

set session authorization test_de;
set lc_time='German, German';
select to_char(current_date,'yyyy-TMMONTH') as tlumaczenie;

Może ktoś wie jak skonfigurować serwer tak by nie trzeba było wykorzystywać komendy set lc_time przed każdym select-em i by zmieniał wartość lc_time w zależności od zalogowanego użytkownika.]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Fri, 26 Apr 2013 07:52:40 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=4164#p4164</guid>
		</item>
	</channel>
</rss>
