2022/08/05
cd ~/Arduino/libraries/ unzip ~/Download/SimplePgSQL-master.zip mv SimplePgSQL-master SimplePgSQL | ディレクトリはこんな構造 |
SimplePgSQL.hより抜粋 | 接続状態 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
typedef enum { CONNECTION_OK, CONNECTION_BAD, CONNECTION_NEEDED, /* setDbLogin() needed */ /* Internal states here */ CONNECTION_AWAITING_RESPONSE, /* Waiting for a response from the * postmaster. */ CONNECTION_AUTH_OK /* Received authentication; waiting for * backend startup. */ } ConnStatusType; |
|
pgSQLClient.ino | 端末からデータベースxxxxへ接続 | |
テーブルは先に作ってある。CREATE TABLE wifilevel2( dt TIMESTAMP DEFAULT NOW() PRIMARY KEY, rssi INTEGER DEFAULT 0); |
conn.execute(sql);//INSERT文を処理 conn.close();conn.execute()の後でconn.stat()を表示されたが、conn.stat()は0だった。conn.execute()とconn.close()の間にdelay()関数で遅延を入れてようすを見ている。遅延時間100mSではときどき処理できないが、遅延時間500mSにするとINSERT文は実行できるようだ。 データベースを切断したつもりだったが、実際にはデータベースに接続したままになっている。
ps aux|grep postgres
#現在の接続を表示 SELECT * FROM pg_stat_activity;
conn.execute(sql);//INSERT文を処理 delay(500);//固定値500ミリ秒 conn.close(); delay(500);//固定値500ミリ秒 WiFi.disconnect(true);