PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Können wir die Datumsspalte immer als Zeichenfolge (varchar) mit Knex und Postgres abrufen?

node-postgres-Treiber ist der Teil, der eigentlich Date()-Objekte aus Daten erstellt, die von Datumsspalten gesendet werden (https://node-postgres.com/features/types#date-timestamp-timestamptz )

Mit Postgres können Sie die Typ-Parser von node-pg ändern, wie hier beschrieben https://github.com /brianc/node-pg-types

Die OID des Datumstyps, die 1082 ist, kann mit der folgenden Abfrage abgerufen werden

select typname, oid, typarray from pg_type where typname = 'date' order by oid;

Um also den als String zu übergebenden Datumstyp zu überschreiben, reicht es aus, dies zu tun, bevor Sie Ihre DB-Verbindung einrichten (ich nehme an, man könnte das zum Beispiel in knexfile.js tun):

var types = require('pg').types;
// override parsing date column to Date()
types.setTypeParser(1082, val => val);