ラベル postgreSQL の投稿を表示しています。 すべての投稿を表示
ラベル postgreSQL の投稿を表示しています。 すべての投稿を表示

2019年5月17日金曜日

FreeBSD12 on RaspberrPi 3 Model B

 いくつかメモ

  1. FreeBSD12はimageをまちがわなければ、RaspberryPiで動く。
  2. しかも64bit対応。
  3. ただし、オンボードのWifiは認識しないので有線LANが必要。
  4. pkgはそろっている(Emacs、PostgreSQLなど)。
  5. CommonLisp系はABCLのみ(つまりjavaは動く)。
  6. ただしportからCLISPがインストール可能(Threadはまだ未対応)。
    そのときはgccをあらかじめ、pkgからインストールしておくこと。
  7. ntpを設定しておかないと時間は狂いっぱなし。
  8. swapは設定されていないので設定する。
  9. CPUの温度の取得は「/sbin/sysctl dev.cpu.0.temperature」

2019年5月7日火曜日

CPU割り当て

 不思議なのだけど、Ubuntuだと、バックグランドで動いているpostgresはひとつのプロセスにひとつのCPUが割り当てられているようだった。実際、threadひとつのときは、システムモニタで見ると、ひとつのCPUだけががっつり使われていた——なのに、FreeBSDだとそれが、分散されているように見える。全体的にCPUが使用されている。
 topコマンドで見ても時々、使うCPUが他のものに切り替わっていた。
 これはLinuxとFreeBSDのちがいなのか、それとも用意されているバイナリのposrgresのコンパイルオプションのちがいなのか——。

2018年6月27日水曜日

とりあえず、データ変換

 とりあえず、データを加工してごっそり変換するプログラムをつくった。
 DBに格納しておいてそれをあとで利用しようというわけ。
 ところが変換中、元々残りわずかだったMacBookAirのディスクスペースが満杯になってしまった。あわてて中断したけれど、いかんじゃないか、これは。
 まいった。
 あれだな、これはPostgreSQLを別のパソコンに持っていくのが吉か。
 そう思って全然、使っていないBeelink S1のUbuntuにPostgreSQLをインストールした。psqlも。基本になるデータをpg_dumpでつっこんでリモートアクセスできるように設定して。
 動かした。
 MacBookAirのCommonLispから。20年分近いデータだ。時間がかかるだろうなぁ、と思っていたらBeelink S1が固まった——固まったと思った。terminalが反応しなくなったのだ。
 これだから安物は。
 熱暴走か——Beelink S1は熱が溜りやすいとか、なんとかいう噂を耳にしていたのだ。たしかに筐体は熱くなっていた。けれど、何度か、試してみているうちに、原因はBeelink S1ではないことに気づいた。
 topコマンドでみると、「kswapd0」というプロセスで固まっている——ように見える。「kswapd0」とはなんぞ。ググってみてページングプロセスらしいことがわかる。そうやってtopコマンドの出力を見直してみると、たしかにswapメモリが0になっていた。Linuxのせいかよ!
 いやこんなに簡単に固まるようじゃ、世間様が使うわけはない1。
 固まっているように見えるが、実は非常にレスポンスが悪くなっているだけで——何もできないけど。もしかしたら自分のせいじゃね?
 組んだプログラムが悪いんじゃね?
 でも。
 毎回、commitするようにしても固まるし。
 毎回、connectしなおすようにしたらsocketを取得できなくなってCommonLisp側がハングアップしてしまうし。
 あかんじゃないか。
 そりゃあ、プログラムを動かさなければ、固まらないさ。それじゃ、意味がない。swapを拡張しても1年分ほどで固まっているから問題の解決にはならんだろうし。

 たぶん状況から考えてリモート接続していると、PostgreSQLがメモリを食い潰しているのだろう(ローカルで動かしたpg_dumpはうまくいっているのだから)。そこでUbuntuにCommonLispの環境をつくってローカル接続からデータ変換するようにしたところ。
 うまくいった。
 swapメモリはまったく消費せずに2。

Footnotes:

1

一瞬、FreeBSDをインストールしなおそうか、とは思ったけど。

2

腹立たしいことにそのあと、MacBookAirに変換したデータをつっこんでもディスクが満杯になるようなことはなかった。

2018年6月5日火曜日

pg.elが動かなくなってしまった……

 まったくの出来心からMacBook AirのEmacsをバージョンアップしてしまった。Emacs24からEmacs25へ。いつものなら動かなくなってしまうのが嫌で極力、バージョンアップはしないようにしているのだが。パソコンを買い替えるタイミングで最新にするようにしていた。
 ついでに、と思ってHomwbrewをupgradeしたのが、そもそもまちがい。
 EmacsもPostgreSQLも何もかも動かなくなってしまった。Homebrewのパッケージのぼろぼろになってしまい、リカバリーするのに何日もかかってしまう——いっそ、TimeMachineで元に戻してしまおうか、と思ったくらい。
 ようやく元にもどった、と安心したのだが、EmacsからPostgreSQLへアクセスできなくなっていることが判明。pg.elからPostgreSQL10へのアクセスがプロトコルの問題でできなっていた。pg.elのバージョンアップは止まったまま……。
 はまった。
 PostgreSQLのデグレーションにも失敗し。
 かっとなって。
 psqlを起動してPostgreSQLのデータを取得する関数をつくる。

2018年5月16日水曜日

ThinkPad X60引退計画

 そろそろThinkPad X60には引退してもらわねば。
 そう思ったのも触ったらかなり熱くなっていて、やばいんじゃない? と思ったからだ。考えてみたらThinkPadでやっていることなんてRaspberry Piでできるんじゃない? そっちの方が消費電力もすくないんじゃない?
 で、Rasberry Piをひっぱりだしてきた。1
 ところが。
 動かない……。
 TVにつないで調べてみると、どうやらOSのSDカードが壊れているらしい。起動の途中でなんかメッセージがでている。
 それでカッとなって「Beelink S1」を買ってしまった。どうせ、Raspberyy Piじゃ、PostgreSQLは動かないだろう、と思ったこともある。ところがだ。ググってみたところ、動くらしい。
 ぎゃー。何をやっておるんですか、わたしは。まずそっちを調べなさいよ。

 あらためてraspbianをとってきて今度は「Patech スポーツカメラ 12MP」で使っていたSDカード(32G)にインストールする。
 動いた。けれど、wifiに接続しない。
 しかもうちにある唯一のキーボード(bluetooth)にも接続しない。
 sshは動くようにしているのだけれど、ネットワークに接続できないので手も足もでない。1年も放っておいたのでハードが壊れてしまったんだろうか。
 TimeCupsleにLANケーブルで直繋ぎしてみる。
 こちらもだめ。しかし、原因はTimeCupsleっぽい。
 そこで蔵っておいた無線LANルーターをひっぱりだしてきて直に接続——できた。MacBook Airからsshで入る。で、すったもんだやった結果、wpa_supplicant.confのパスワードは暗号化しなければ、ならないことが判明。今まで直書きしていたのではまってしまった。
 無事、無線LANに接続できるようになる。

 で、そのあと、EmacsとPostgreSQLを何も考えず、apt-get。
 PostgreSQL、trust認証にしているのに弾かれるという現象に悩まされる。普通にEmacsのsql-postgresからはうまくいくのに。1時間ほど、試行錯誤の末、現象が判明。localhostを指定してやると、パスワードを聞いてくる。
 当然、trust認証のつもりなのでパスワードなど設定してなくてそれで弾かれてしまっていた。
 パスワードを設定して解決。
 ThinkPad X60のPostgreSQLからデータを放りこんで無事、動作する環境を確保した。

Footnotes:

1

調べてみたら1年ぶりだった。購入したのは2017年の4月。

2009年10月20日火曜日

postgreSQLとOpenOffice

 postgreSQLのODBCをインストールしてOpenOffice経由でいじれるようにしたのだが、OpenOfficeのデータベースソフト経由からではテーブルのプライマリーキーを複数指定できないらしい。うーん、これでは。しかも表計算ソフトから複数レコード分のデータのコピー&ペーストもできない。csvファイルからのimportも見たところ、できないようだ。しかたないので結局、MeadowからSQLを直打ち。ODBCをいれた意味ねぇ。こまったもんだ。これではマイクロソフトに対抗できんのでは――表計算もエクセルのピボットテーブルに相当するものが見当らないし。残念。

2009年10月19日月曜日

postgreSQLとMeadow

 Windows版のpostgreSQL 8.4.1をインストール。なのにMeadowのsql-postgresからうまくアクセスできない。なんか変な感じ。パスワード入力の部分で行った切りになっているような。
 しかたないのでローカル環境からの認証をtrust認証にしてパスワード入力を殺す(pg_hba.confを修正)。それでもsql-progresで動かないな――と思ったらプロンプトが表示されていないだけでやりとりはできた。まぁ、これで今はいいか。
 返却されるコードがUTF-8らしいので.emacsに
(modify-coding-system-alist 'process "psql" 'utf-8)

 を追加。