私は時系列データを格納するPostgreSQL DBで作業しています。 データは「タイムゾーン付きタイムゾーン」タイプを使用して保存され、出力はISO形式です(postgresqlのデフォルト値)。データソースは、「タイムゾーン付きタイムスタンプ」データ型のテーブルを作成するクローズドソースソフトウェアです。PostgreSQLでtimestamp(6)の代わりにtimestamp(0)をデフォルトとして設定するには?
タイムスタンプの精度は、Postgresのマニュアルに従って、6桁(マイクロ秒)までです。だから、私の時系列は毎秒記録され、私は出力にミリ秒を見ます。
e.g. 2012-06-25 15:46:23.001
時系列データをプロットソフトウェアはミリ秒単位でクレイジー行くが、私は、タイムスタンプを使用するために、データ・ソース・ソフトウェアを変更することはできません(0)は、テーブルを作成するとき。
私の同僚は、すべての表の「時間帯とタイムスタンプ(0)」にタイムスタンプデータ型を変更するためにデータベース全体を照会する機能をプログラムします。それは正常に機能しますが、新しいテーブルが作成されるたびに実行する必要がある手動アクションです。私たちはこの関数の使用を避けたいと思います。
は、それが(0)、タイムスタンプデータ型の代わりに、デフォルトのタイムスタンプ(6)postgresql.confのを編集してタイムスタンプを作成するために、PostgreSQLのために言うことはできますか?
Yikes。 'pg_catalog'のネイティブタイプにドメインを代入すると、いろいろなことがエキサイティングになるでしょう。しかし、ねえ、狭いユースケースのため... –
@CraigRingerなぜですか?既存のオブジェクトは名前ではなくOIDで型を参照します(関数本体を除く)、ドメイン自体が元の型を参照するため、暗黙の型キャストがここに残ります...しかし、あなたは正しいです。ケース。 – Abelisto