• ベストアンサー

Passwordを設定したPostgreSQLのバックアップなどができ

Passwordを設定したPostgreSQLのバックアップなどができない。 PostgreSQLのバックアップを行おうとしているのですがバックアップSHELLを実行 するとパスワードを聞いてきます。 pg_dump -Udbuser -s DBANME > /DbBkup/dbbackup.out そこで実行ユーザのHOMEディレクトリに.pgpassを置き localhost:*:DBNAME:dbuser:dbpass と登録し、実行しところ、これでもパスワードを聞いてきます。 最終的にはcronで実行したいのですが、解決方法がわかりません。 お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bx2
  • ベストアンサー率47% (97/206)
回答No.2

pg_dumpコマンドの引数に -h localhost を追加すればよいと思います。

papope
質問者

お礼

ご回答、ありがとうございます。 申し訳ございません。自己解決しました。 PostgreSQLの実行ユーザのHOMEに.pgpassを置くことで対処できました。 ありがとうございます。 実際にはお答えいただきました方法は試しておりませんが、このサイトの性格上 ベストアンサーとさせていただきます。

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

環境変数PGPASSWORDにパスワードを設定しておくと 大丈夫だと思います。

papope
質問者

補足

ご回答ありがとうございます。 PGPASSWORDについては知っておりましたがセキュリティ上の問題より .pgpassによるものが推奨されていましたので、.pgpassで行っており ました。 .pgpassで行う方法はできないものでしょうか?

関連するQ&A

  • PHPからPostgreSQLのダンプを実行したいのですが

    PHPからPostgreSQLのダンプを実行したいのですが、 php4.0.6から以下のsystemコマンドを実行してもダンプ採取できなく困っております。 system("pg_dump dbname > filename"); ネットで探してみて、参考になる物もありましたが成功しないので、改めてこちらで質問させてください。

  • PostgreSQL バッチでバックアップ

    PostgreSQL 8.4に関する質問です。 サーバ:Linux、PostgreSQL 8.4 クライアント:Windows 7 Windowsマシンから、バッチファイルでサーバ上のPostgresのバックアップを取りたいのですが、 以下のコマンドをバッチファイルに記述して実行すると、 「パスワード:」というプロンプトが出て処理が止まってしまいます。 pg_dump.exe -h [DBサーバのIP] -U [ユーザ名] -F custom -b -v -f "C:\test.backup" "test" パスワードを入れればバックアップはできるのですが、 パスワードの入力まで完全自動化するにはどうすればいいでしょうか。 Linux上のPostgresはSSL接続のみ許可するようになっています。 Windowsのタスクで毎日バックアップする運用を想定しています。

  • Postgresqlで8GB超えのバックアップ

    こんにちは。 Postgresqlでpg_dumpで8GBを超えるとバックアップに失敗してしまいます。 不要なデータを削除しても8GBを超えているようでバックアップに失敗してしまいます。 どうにかバックアップを取る手段はありますでしょうか? すいませんが、知っている方、ご教授お願いします。 環境は、Windwos2003Server、Powergres6(PostgreSQL8.X系)です。 宜しくお願いします。

  • データベースのバックアップだけ取れない場合があって困ってます(バックアップ用シェルの書き方に関して)

    以下のようなシェルをcronで実行し、バックアップを取ろうとしているのですが、データベースのバックアップだけ、うまくいく場合と抜けてしまう場合があります。 下のシェルのどの部分を変えれば、データベースのバックアップも毎回ちゃんと取ってくれるようになるのでしょうか。 ------------------------------ #!/bin/bash NAME="name" DBNAME="dbname" DBUSER="dbuser" DBPASS="dbpass" HTML="/home/test/www/" BACKUPDIR="/bakup/" mkdir -p $BACKUPDIR$NAME mkdir /tmp/backup-$NAME-`date +%Y%m%d` mysqldump --databases $DBNAME > /tmp/backup-$NAME-`date +%Y%m%d`/bk.sql -u $DBUSER --password=$DBPASS --opt ( cd /tmp/backup-$NAME-`date +%Y%m%d` ; tar cf /tmp/backup-$NAME-`date +%Y%m%d`.tar . ) ( cd $HTML; tar rf /tmp/backup-$NAME-`date +%Y%m%d`.tar . ) rm -r /tmp/backup-$NAME-`date +%Y%m%d` gzip /tmp/backup-$NAME-`date +%Y%m%d`.tar mv -f /tmp/backup-$NAME-`date +%Y%m%d`.tar.gz $BACKUPDIR$NAME find $BACKUPDIR$NAME -type f -mtime +7 | xargs rm -f ------------------------------ それでは、宜しくお願いします!

  • PostgreSQLの差分バックアップに関して

    よろしくお願いいたします。 ■経緯 Linuxサーバ & PostgreSQL 8.4.9 において開発を行っております。 データベースを日時でバックアップをとる案件がございまして、 pg_dumpでは差分バックアップができないことが判りました。 ネット等でも検索したところ、 「 PostgreSQL 8.0 以降では、前回バックアップした内容からの差分バックアップ、 特定時間までの巻き戻しが可能です 」 との書き込みも見つけたのですが、具体的な方法を調べてみたのですが、 目的の情報に、いまだたどり着いておりません。 ■質問内容 当然、私どもの使用するデータの種別、内容、に寄るところではありますが PostgreSQLを差分バックアップを取る場合に、 一般的にどのようなバックアップツール?(WAL?pg_rman?)を使用して、 差分を抽出しているのか、参考に教えていただけますでしょうか。 また具体的なコマンドの使用方法等を解説しているページなどもありましたら よろしくお願いいたします。

  • phpとデータベース

    書籍のサンプルを実行しても表示されません pearのインストールが怪しいですが、どこを直せばいいかわかりません。 ご教授お願いいたします。 <HTML> <HEAD> <TITLE>PHPのテスト</TITLE> </HEAD> <BODY> <?php require_once("DB.php"); $dbUser = "sample"; // ユーザー名 $dbPass = "password"; // パスワード $dbHost = "localhost"; // ホスト名 $dbName = "sampledb"; // データベース名 $dbType = "mysql"; // データベースの種類 // MySQL="mysql", PostgreSQL="pgsql", MS SQL-Server="mssql", ODBC="odbc" などを設定 // 接続文字列の作成 $dsn = "$dbType://$dbUser:$dbPass@$dbHost/$dbName"; // データベースに接続 $conn = DB::connect($dsn); // 接続に失敗したらメッセージを表示して終了します。 if (DB::isError($conn)){ die($conn->getMessage()); } print('接続に成功しました。'); // データベースから切断します。 $conn->disconnect(); ?> </BODY> </HTML>

  • 、cronのユーザは postgresでないとpg_dumpallが実行できません。

    CronでPostgreSQLのデータベースをバックアップするにあたり pg_dumpallコマンドで実行させるのですが、cronのユーザは postgresでないと実行できません。 コマンドユーザーをrootにして、pg_dumpallを実行させたいのですが、何か良い方法はありますか? cronにはpg_dumpall直接書き、またはスクリプトでも構いません。

  • Linux上のpostgreSQLデータをWindowsでみたい

    サーバA(OS:Linux Fedora Core 4、データベース:PostgreSQL 8.0 で運用しているシステムがあり、毎日そのデータを下記のdumpコマンドで PostgreSQLの全データをバックアップしています pg_dumpall > postgres.out  サーバAを触るのは怖いので、別のマシンB(Windows-Xp)に postgresql-8.2.6をインストールしました。 このバージョンは、postgresqlとともに、pgAdmin3というGUIの管理 ツールもついていると聞きここに、サーバAからバックアップされている postgres.outをrestoreして pgAdmin3でデータベース・テーブル等をみようとしています (postgres.out)を使ってのリストアの仕方は (1)(postgres.out)をpostgresqlの/binディレクトリの中に入れる (2)psqlのメニューから次のコマンドを打つ psql -d manmg -f postgres.out   (3)pgAdmin3を立ち上げるとサーバAのDBは追加されているようなのですが  テーブルは(0)となって見えません マシンBの方のPostgreSQLについてはインストールしたままでサーバA のpostgresqlの設定等は何もしていません 何か設定する所はあるのでしょうか 上記手順でlinuxから吐出されたバックアップデータをWindowマシンに リストアする方法は間違っていないのでしょうか よろしくお願いします。

  • PHPからPostgreSQLのダンプを実行

    PHPからPostgreSQLのダンプを実行したいのですが、 php4.0.6から以下のsystemコマンドを実行してもダンプ採取できなく困っております。 system("pg_dump dbname > filename"); ネットで探してみて、参考になる物もありましたが成功しないので、改めてこちらで質問させてください。 詳細は、、、、 1.Webサイトから実行。 2.Perlだと成功します。 3.リターンコードはブランク(初期化0で、systemコマンド実行後、ページに表示して見ると表示なし。) 3.suコマンドでチェンジしても同様の結果。 ※ちなみに、Postgres接続、SQL発行などは成功しております。

    • 締切済み
    • PHP
  • windowsでperlDBI+postgreSQL

    windowsでperlDBI+postgreSQLに挑戦しています。 今perl上からpostgreSQLに接続しようとしたところ エラーが出て接続できませんでした。 エラー内容は Can't locate DBI.pm in@INC というものでした。 いろいろ調べたのですがDBIモジュールがないのかな?と思い、 ネットでDBI-1.48というファイルを落としてきました。 解凍してみたのですが、今度はこれをどうインストールしてよいのかわからず 詰まってしまいました。 ちなみにエラーがでたperlの中身は *********************************************** #!/usr/bin/perl use DBI; # DBI モジュールを使えるようにします。 # 環境に応じて、各種情報をセットしておいてください。 $dbname = "template1"; $host = "127.0.0.1"; $user = "test"; $password = "pass"; $table = "testtable"; # データベースへの接続。ここで、Pg という名前の DBD を指定しています。 $conn = DBI->connect("dbi:Pg:dbname=$dbname;host=$host", $user, $password ); *********************************************** となってます。 助言をいただけませんでしょうか

    • ベストアンサー
    • Perl