0

ある日から数えた週番号を使用して、いくつかのテーブルを再分割しようとしています:

my_factテーブルには次time_stampのタイプのフィールドが含まれていますTIMESTAMPTZ

残念ながら、再パーティション化は機能せず、次のエラーが表示されます。

MyDB=> ALTER TABLE my_fact PARTITION BY MOD(TIMESTAMPDIFF('day', time_stamp::TIMESTAMP, TIMESTAMP '2013-09-23'), 156) REORGANIZE;

NOTICE 4954:  The new partitioning scheme will produce 12 partitions
ROLLBACK 2552:  Cannot use meta function or non-deterministic function in PARTITION BY expression

のキャストは、このフィールドからタイムゾーン関連の情報を取り除き、決定論的にする必要がありますかtime_stamp?TIMESTAMP

ありがとう!

4

2 に答える 2

1

date_part() 関数を見てください。ソース列として TIMESTAMPTZ を使用できます: 例:

**The number of the week of the calendar year that the day is in.**

SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 7
SELECT EXTRACT(WEEK FROM DATE '2001-02-16');
Result: 7
于 2014-01-08T20:58:58.673 に答える