Я только начал работать с PostgreSQL для базы данных временных рядов с использованием временной шкалы. Прежде чем использовать шкалу времени, я хотел настроить небольшой тест для вставки данных. Вставляя данные из c# в таблицу базы данных postgres, я столкнулся со следующей ошибкой:
column "timestamp" is of type timestamp without time zone but expression is of type text
Я просматривал документацию postgres, но не смог найти решение.
это моя таблица:
CREATE TABLE measurement_ms (
id SERIAL PRIMARY KEY,
value VARCHAR(255) NULL,
timestamp TIMESTAMP(6) NULL,
machine_id INT NOT NULL,
measurement_type_id INT NOT NULL,
point_of_measurement_id INT NOT NULL,
FOREIGN KEY (machine_id) REFERENCES machine (id),
FOREIGN KEY (measurement_type_id) REFERENCES measurement_type (id),
FOREIGN KEY (point_of_measurement_id) REFERENCES point_of_measurement (id)
);
и это код в c#, который я использую для вставки данных в таблицу:
NpgsqlCommand addMeasurementQuery = new NpgsqlCommand("INSERT INTO measurement_ms (value, timestamp, machine_id, measurement_type_id, point_of_measurement_id) values(@value, @timestamp, @machine_id, @measurement_type_id, @point_of_measurement_id)", connection);
addMeasurementQuery.Parameters.AddWithValue("@value", value);
addMeasurementQuery.Parameters.AddWithValue("@timestamp", timestamp.ToString("YYYY-MM-DD HH:MI:SS:MS"));
addMeasurementQuery.Parameters.AddWithValue("@machine_id", fk_machineID);
addMeasurementQuery.Parameters.AddWithValue("@measurement_type_id", fk_pointOfMeasurementID);
addMeasurementQuery.Parameters.AddWithValue("@point_of_measurement_id", fk_measurementTypeID);
addMeasurementQuery.ExecuteNonQuery();
Может кто-нибудь дать пу sh в правильном направлении, чтобы решить эту проблему? Я думаю, что я могу отформатировать метку времени неправильно, но я не уверен.