QuestDB插入数据时如何通过Python捕获错误信息?
How to capture error messages via Python when inserting data in QuestDB?
目前我正在通过 Influx Line Protocol (ILP) Python 将数据保存到 QuestDB,如下所示:
import socket
ilp_msg = 'my_table,name=server_timestamp value=12.4\n'
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
sock.connect((HOST, PORT))
sock.send((ilp_msg).encode())
except socket.error as e:
raise ValueError(f'Got error: {e}')
sock.close()
如果我的 ilp_msg
或服务器或数据库有问题,上面的代码将执行而不会引发任何错误。它将在数据库上登录 sdr out(或 std err)。
我的问题:如何通过 python 将数据保存到 QuestDB 并捕获任何错误消息,以便我知道我的保存方法对特定行失败。
我看到的唯一方法是不使用 ILP,而是通过 Postgres 驱动程序 psycopg2 插入行。
ILP 似乎是一种以即发即弃的方式将数据流式传输到服务器的协议。
目前我正在通过 Influx Line Protocol (ILP) Python 将数据保存到 QuestDB,如下所示:
import socket
ilp_msg = 'my_table,name=server_timestamp value=12.4\n'
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
sock.connect((HOST, PORT))
sock.send((ilp_msg).encode())
except socket.error as e:
raise ValueError(f'Got error: {e}')
sock.close()
如果我的 ilp_msg
或服务器或数据库有问题,上面的代码将执行而不会引发任何错误。它将在数据库上登录 sdr out(或 std err)。
我的问题:如何通过 python 将数据保存到 QuestDB 并捕获任何错误消息,以便我知道我的保存方法对特定行失败。
我看到的唯一方法是不使用 ILP,而是通过 Postgres 驱动程序 psycopg2 插入行。
ILP 似乎是一种以即发即弃的方式将数据流式传输到服务器的协议。