技術報告一覧

【PostgreSQL】 インポートできないじゃん

サーバー移行のためデータを下記コマンドでバックアップし

pg_dump dbname> /tmp/dbnamebk

他のサーバにインポートと下記のようにしたら
createdb dbname
psql dbname< /tmp/dbnamebk ERROR: invalid byte sequence for encoding "EUC_JP": 0x8e97 ってエラーが返ってきてあるテーブルのインポート ができてませんでした。 調べてみると postgresのバージョンが新サーバでは が上がっているので EUC-JPの文字コードはSQLインジェクション等の セキュリティー対策のため文字コードの取り込み制限 を強化しているとのことでした。 ひとつひとつ直してこーと思ったのですが、いっぱいあったので、無理。結局EUC-JPではインポートせずに UTF-8でデータベースを取り込むとうまくいきました。 ただそうしてしまうとPHPはEUC-JPでできているので データベースとの連携がうまくゆきませんでした。 そこで、postgreSQL.confを開き 下記の行を追加し client_encoding = EUC_JP postgreSQLを再立ち上げしました。 su su - postgres pg_ctl -m f stop pg_ctl -w start



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




サーバーがパンク

なーんかメールの送受信ができなくなっているなー
でもエラーがでないなー。
なんでだーなんて思っていたらサーバの容量がいっぱいになっていました。
なんでこんないっぱいと思ったら、年々蓄積されたコンテンツが一番大きいらしい、不要なログを削除しても
少し減ったくらいでまだあかん。
プラン変更OR引越しも考えないとなー。



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[MySQL] 登録したデータが反映されていない

ブラウザからユーザー情報を登録できる、CMS形式のサイトにて、ユーザーが100件近く情報をまとめて登録すると、すぐに情報が反映されずに2時間後くらいにやっと反映されるという不具合の報告がありました。

私も試しにまとめて登録するような動きをトライしたが
どうも現象がみられず。
んーこの遅延はなんだと考え推測で判断するしか
なくなってしまいました。

推測1.MySQL側のロックによる遅延
MyISAMテーブルへの登録なので、ロックレベルは
テーブルロック。まとめてがんがん登録しているときは
ロックがかかり参照するユーザーは遅延する。
この結果、すぐに情報が反映されないのだろう。
だけど、実際遅延によって古い情報を参照することに
なるというのがどうもしっくりこない。ここはタイムアウトになるのではないかとも思われる。ここらへんの挙動は
まだ調査していない。

推測2.クエリーキャッシュ
MySQLにも同様のSQLが頻繁に使われる場合、キャッシュを使用できるが、テーブルが追加、更新、削除などの変化があった場合、キャッシュはクリアされると
http://dev.mysql.com/doc/refman/4.1/ja/query-cache.htmlなっている。
んークリアされるのであれば問題ないなーと思いつつもとりあえず、SQL発行時にキャッシュを使用するか
しないかをコントロールできるので、それで検証できる。
下記はキャッシュを使用しない場合
SELECT SQL_NO_CACHE * FROM TABLE;



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。