SQLで行番号を付ける

SELECTでその時取得した結果に行番号をつけたい。
MariaDB(MySQL)、PostgreSQLともある程度のバージョンからできるみたい。

SELECT ROW_NUMBER() OVER(ORDER BY order_column) AS rownum FROM table_hoge;

ROW_NUMBER() OVER(並び順の指定) と。1から始まります。

OpenVPNが一定時間毎に切れて繋がるまで一定時間かかる

OpenVPNを設定、dev tunで接続。
keepalive 10 120(デフォルト)で使用していたが、よく切れる。
OpenVPN上でpingを連続で打って見てみると、120秒で切れて、その後120秒後に再接続が行われて繋がる。

“Inactivity timeout (–ping-restart), restarting” each 120 secs – OpenVPN Support Forum

この人も同じような状況だったようだ。クライアントが二重に起動していたとのことだが、手元の環境ではその前の –duplicate-cn がポイントだった。

おそらく再接続の際にコネクションが残っているため、二重接続で拒否されたのだろう。おかげでさらに120秒待つことになっている。
keepalive 10 20 と設定しても20秒、20秒だったのでこの挙動のようだ。

serverのconfigに duplicate-cn を追記して、二重接続を許可したところ、OpenVPNが切れることはなくなった。