カテゴリー別アーカイブ: postgresql

PosgreSQLコマンドをPasswordプロンプトなしで実行!

ども、鈴木っす。
いやー、梅雨もまじかになってきましたね。ジメジメしてきました。

■Passwordプロンプトなしダンプ
PostgreSQLのクライアントツール、「psql」「pg_dump」「pg_dumpall」など
を一々出るPasswordプロンプトをなくして実行する方法になります。
セキュリティの面でちょっとアレですが…。

○.pgpassの作成
実行するUNIXユーザのHomeディレクトリに「.pgass」というファイルを作成します。

cd ~
touch ./.pgpass
chmod 0600 ./.pgpass

○.pgpassの編集
以下のような内容にします。

hostname:port:database:username:password

例)
localhost:5432:*:postgres:hogehoge

※「*」はワイルドカードになります。

○postgresコマンド実行

/usr/local/pgsql/bin/pg_dump -h localhost -U postgres test > test.dump

みたいにすると…。
あら、不思議。Passwordなしでダンプできちゃうよーーん。

これをcronスクリプトにすれば、cronタスクとしてダンプできますね。

PostgreSQLテーブル名に関して

PostgreSQLのテーブル名は英大文字が含まれていると通常のSQL分が通らないようです。
Double Quotation「”」で囲む必要があります。

例)
SELECT * FROM Items;    X –これはダメ
SELECT * FROM “Items”; ○  –こちらはOK

参考ページURL:
http://sb.xrea.com/showthread.php?t=8195