Ich bin ganz neu in PostgreSQL kommt von einigen Jahren in einem Unternehmen ändern, die MySQL ausschließlich mit und ich bin eine wenig Wache vom Typ TIMESTAMP gefangen:Wie Standard-Zeitformat in PostgreSQL
CREATE TABLE example (
example_id SERIAL PRIMARY KEY,
time_utc TIMESTAMP
);
INSERT INTO example (time_utc) VALUES (NOW());
SELECT * FROM example;
example_id | time_utc
------------+----------------------------
1 | 2017-11-02 21:37:26.592814
I bin mir bewusst, dass ich einfach das Feld zu seiner ungenauen Form gegossen kann:
SELECT example_id, time_utc::timestamp(0)
und bin mir auch bewusst, dass ich die Präzision in der Tabellendefinition deklarieren:
time_utc TIMESTAMP(0)
Aber gibt es eine Möglichkeit, dies zu ändern, um die Standardgenauigkeit für alle TIMESTAMP
Felder zu sein? Und gibt es auch eine Möglichkeit, das Verhalten von NOW()
so zu ändern, dass es diesem Format entspricht (einschließlich der fehlenden Zeitzone)?
Zum Beispiel in MySQL:
SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2017-11-02 21:41:26 |
+---------------------+
PostgreSQL:
SELECT NOW();
now
-------------------------------
2017-11-02 21:42:48.855801+00
Ehrlich gesagt kann ich mich einfach nicht jederzeit in der Vergangenheit habe ich für mehr Präzision gewünscht habe aus MySQL-Zeitstempel und die eine weniger präzise Form ist den Augen objektiv leichter. Ist dies eine einfache Konfigurationsänderung oder ist das etwas, was ich in meinem Übergang zu PostgreSQL aufheben und bewältigen muss?
Dank
Die Anzeige vollständig von dem SQL-Client vom Server nicht kontrolliert wird. Ich denke, der 'psql'-Client berücksichtigt die [lc_time] (https://www.postgresql.org/docs/current/static/runtime-config-client.html#guc-lctime) Konfiguration –
@a_horse_with_no_name also bei der Angabe in der Tabelle def mit 'timestamp (0)' (eine serverseitige Sache), schneidet das nur die Genauigkeit ab (dh der Zeitstempel wird als 'HH: ii: ss.000000' gespeichert) beim Einfügen? – thedarklord47
@a_horse_with_no_name mit anderen Worten, alle Zeitstempel-Operationen * immer * wirken auf die ganze Zeit (einschließlich Millis)? – thedarklord47