içinde saat dilimi ile zaman damgası alma Bu sorunun, past before'da yükseltildiğini biliyorum ve şimdi çözümlendi olarak işaretlendi.Postgresql-simple
Data.Time
ile birlikte postgresql-simple
paketini kullanıyorum. Tek bir sütun türü timestamptz
almak için bir sorgu yaparsam, desen eşleme hatası alırım. Aşağıdaki Sözde kod: sorguları çalıştırırken ben çalışma anında bu hatayı alıyorum
import Data.Text as T
import Data.Time (UTCTime,LocalTime,ZonedTime)
import Database.PostgreSQL.Simple as Pg
import Database.PostgreSQL.Simple.FromRow
import Database.PostgreSQL.Simple.ToRow
import Database.PostgreSQL.Simple.ToField
import Database.PostgreSQL.Simple.Time
import qualified Data.Vector as V
...
--- in main this is the code
[Pg.Only (i::UTCTime)] <- Pg.query conn "select lastupdated from constraints where name=?" (Only ("carrier"::T.Text))
...
(yukarıda unutmayın:
*** Exception: user error (Pattern match failure in do expression at ...)
aşağıda gibi geçersiz bir türe yukarıda değiştirirseniz:
012: beklenen türü aslındatimestamptz
olduğunu gösterir
[Pg.Only (i::T.Text)] <- Pg.query conn "select lastupdated from constraints where name=?" (Only ("carrier"::T.Text))
Ben türü hakkında istisna olsun
Ayrıca, bu yukarıdaki sorgu sonucu psql
konsolunda görünür:
lastupdated
-------------------------------
2016-04-13 00:08:33.789761+00
2016-04-13 14:33:38.27739+00
(2 rows)
Benim anlayış Data.Time.UTCTime
veya Database.PostgreSQL.Simple.Time.UTCTimestamp
PostgreSQL
ait timestamptz
tipine haritasına gerektiğidir. Görünüşe göre, bu hataları yukarıdaki hatalardan alırsam yanlış olur. Bu konuda yardımcı olacak.
Çalıştı, teşekkürler! – Sal