ユーザの追加

2006/08/12 | PostgreSQL

また久々にPostgreSQLを使う必要に迫られた。
まずユーザの追加・・・パスワードを聞いてくれるようにするのはどうするんだったか・・・。

createuser -P

ユーザpostgresになって、-Pオプションをつけてコマンドを実行。
これで使用したいユーザ名、パスワード、データベース追加の可否、ユーザ追加の可否を問われるので答えるだけでいい。

バックアップからの復元

2006/07/22 | PostgreSQL

先日の大雨&雷の影響で、我が家のサーバが落ちた。
今日まで気づかなかったのだが(普段使わないから当然わからないのだけれど)、データベースが動いてない!。データベースには請求処理関連の全データがはいっていて請求書が作れないし、決算が・・・(驚愕)。
しばし悩んだあと、バックアップがあることを思い出しだ(笑)。バックアップがあることはわかっていたけれど、新たにマシンを用意してインストール・復元する元気がなかったのでなんとか動くようにできないかと悩んでいただけだったのだが。
まずPostgreSQLのデータフォルダをきれいにして、データベースの初期化を実行(以下のコマンド)。

initdb –no-locale –encoding=EUC_JP -D /var/lib/pgsql/data

この状態でPostgreSQLが動くことを確認できた(ほっ)。
次にバックアップからの復元。実はつまんないことだけど、バックアップからの復元方法がわからなかった。だってpg_dumpall(データベース丸ごとバックアップ)から復元する機会なんてそうそうないですから・・・。検索してやっと見つけたよ。

psql template1 < data.dump

template1に対してレストアするのか・・・知らなかった。何はともあれ、これで復元完了。あと設定関連を以前のものに戻して無事復旧終了。つくづく「バックアップって必要なんだ」と思った瞬間であった。

MySQLで日付の計算

2006/05/29 | MySQL

MySQLで日付の計算をする場合の書式(何度やっても忘れてしまう・・・)。

date_add(‘2006-1-1 00:00:00′,INTERVAL 10 DAY)

日付のフォーマット

2006/04/13 | MySQL

毎回「to_char」関数を使おうとしてエラーが出る(MySQLではそんな関数ありません)ので、メモしておく。

SELECT date_format(column0,’%Y-%m-%d’) FROM table0;

発行した全てのクエリのログをとる

2006/04/06 | MySQL

MySQLで発行した全てのクエリをログにとる方法は、MySQL起動時に「–log」オプションをつけることだけ。RedHat系だと起動スクリプト「/etc/rc.d/init.d/mysqld」に記述する。ただし記述する位置に注意がいるみたいで、場所を間違うと起動しなくなってしまう。具体的にはこういう感じになっている。

/usr/bin/mysqld_safe –defaults-file=/etc/my.cnf –pid-file=”$mypidfile” >/dev/null 2>&1 &

上記の行に–logオプションをつければよいのだが、以下のように

/usr/bin/mysqld_safe –log –defaults-file=/

一番先頭につけると起動しない。二つ目以降に書くといいみたい。

/usr/bin/mysqld_safe –defaults-file=/etc/my.cnf –log –pid-file=”$mypidfile” >/dev/null 2>&1 &

これで/var/lib/mysql/以下に[ホスト名].logというファイルができ、そこに実行された全てのクエリが記録される。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net