投稿

ラベル(postgresql)が付いた投稿を表示しています

たまに掃除は必要!熱暴走…

イメージ
 そんなに暑くないのに… 本日、午前中にオンラインで打合せをしていると、突然マシンがダウン。 一瞬、停電か?と思ったもののディスプレイの電源は入っている。 あれっ?と思い、すぐさまノートで打合せを継続。 その間に、再度マシンの電源を投入。 問題なく起動する。 でも、CPU温度がたまたま目に入り、95℃を超えて徐々に上昇していく。 105℃あたりで再度マシンダウン。 これは、熱暴走によるダウンの可能性が高い。 以前、CPUをRyzen7→9にした頃は、60℃〜70℃程度だった記憶がある。 本当はGW中にSSDの載せ替えを行う予定だったけれど、忙しくて先延ばしにしていた。 その時やっていれば、多分掃除もしただろうに…。 ということで、午後からマシンを解体し、掃除をすることに。 ケース本体のFANはホコリがかなり溜まっている。 GPUのFANは問題ない。 電源とCPU FANはひどい。 一旦、CPU FANを取り外し、きれいにする。ついでにCPUグリスも塗り直しセット。 動作確認すると、投入直後で40℃台。 そりゃ、熱暴走も起こすわけだ。 せっかくバラしたので、SSDの載せ替えを実施。 OSは500GBで、ユーザ領域(/home)は1TBを使用しているもののAIのmodelをいくつも落としていたり、DockerのImageが多種置いてあるため、結構容量を食っている。 今回、2TBのSSD( Hanye SSD ¥17,800- で入手済)を用意してあるので、 1TB→2TB, 500GB→1TBと玉突きで移動させることを計画していたので実施する。 本当は、ddコマンドで移すつもりだったのだけれど、3月にお客さんのところで使いそうだったので、 ORICOのクローン機能付SSDアダプタ を入手済。 裸族のSSD版ですね…。1万円程度の品です。 これに、新品のSSDとこれまでの1TBのSSDを差し込んでクローン開始。 そこそこ時間はかかるものの、放置でOK。 ただ、HanyeのSSDについているヒートシンクが引っかかるため、一旦取り外してクローン後取り付ける必要があった。 続いて、500GB→先程の1TBに書き込み。 ただ、1TB(samsungの980pro)が、先程のクローンでかなり熱くなっていたため、速度低下が激しい感じ。1TB→2TBよりも時間がかかった感じ。 ...

PostgreSQLでEUC_JPのテーブル

イメージ
今さらEUC_JPって感じだけど すでにサーバ環境がUTF-8をデフォルトとするようになって、随分経っているので必要となるケースは少ないんだけど、今回はハマりました。 通常であれば、UTF-8でDBを構築していけば、特に問題もなく引っかかるようなところは何もないのだけれど…。 サーバの移行のため、仕方なくEUC_JPを使うことに。 旧データベースは、プログラムもEUC_JPで構築されている。 プログラムの書き換えは動作検証に時間がかかるので、そのまま動かしたい。 まぁPostgreSQLは文字コードを選べるので、問題ないだろうと…。 サーバにPostgreSQLをインストール これは問題なく、いつも通りapt-getで入れてオシマイ。 何も引っかかるところはありません。 ついでに、phppgadminも入れておく。 これで作業が簡単になる。 旧サーバにも入っているので、確認がしやすいですな。 若干、バージョンが異なっているので、その点だけ要注意と。 さてphppgadminを使ってDBをEUC_JPで作ろうとしたら、上手くいかない。 createdb: database creation failed: ERROR:  encoding EUC_JP does not match locale en_US.UTF-8 見慣れぬエラーですね…。しかもDBは作成してくれない。 何か操作を間違えたのかと、見直すが、特に手順に問題はない。 「ERROR:  encoding EUC_JP does not match locale en_US.UTF-8」でググってみると 、最初に答えが見つかった。 「 名称未設定:Ubuntu12.04LTSのPostgreSQLでEUC_JPのデータベースを作る 」とまんま同じ内容だった。 これによると、 createdb -T template0 -E EUC_JP --locale=C dbname と、localをCで作りなさいということらしい。 試しに、コンソールから試してみると、確かに文句も言われず作成してくれる。 phppgadminでもできるはず  この方法は、postg...

phppgadminで苦戦

イメージ
久しぶりにpostgresqlを触る 以前は、postgresqlばかりだったんだけど、気付けば、最近はMySQLばかり触っていた。 今回依頼のあった案件が、すでにpostgresqlで構築されているものをリプレースするという内容。そのため、自鯖にコピーを作り、開発をすすめることにした。 postgresqlをインストール。 これは、何も問題ない。 $ sudo -s # passwd postgres # sudo - postgres ここまでは、問題ない。 $ sudo apt-get install phppgadmin 手作業での設定は大変なので、GUIツールを入れて利用する。 まぁ、多少の設定は必要だけど、ほとんど何もない。 ローカルIPからの接続を許可する程度。 ブラウザでアクセスする。 http://localhost/phppgadmin はい!OKと…。さすがにあっけない。 バックアップから再構築 お客さんのDBからdump.sql.gzを取り出す。 構造+データなので、一気に復元できるはず。 同じ名前で、DB作って、インポートする。 インポートの場所は、最初戸惑ったけどSQLのところにあるんですねぇ…。(メモメモ) 参照から、先ほど取り込んでおいたdump.sql.gzを解凍してdump.sqlにしてあるものを指定。 実行を押すと…。 「サーバーが指定されていません」って??? 意味が分かりません。 /var/log/apache2/error.log を覗くも、有意義な情報は得られず…。 あれこれ試してみるけれど、dbサーバは動いているし、phppgadminも正常に動いている。 仕方なく、ググってみたら… phpPgAdminで「サーバーが指定されていません!」 なんてそのままのエントリーを発見。 もっと早く、調べればよかった。 php.iniの設定を書き換えろと。 post_max_size = 32M upload_max_filesize = 32M そういうことか。dumpしたデータが大きすぎて、uploadできていなかった訳だ。確認すると、dump.sqlは16.5MBほどある。 圧縮したデータは900KB弱...