の一部を復元:PHPバックアップ全体のPostgreSQLデータベースと、私は現在のpg_dumpを使用して、データベース全体をバックアップしていますテーブル
<?php
include_once("../db.php");
$password = getPGPassword();
$user = getPGUser();
$db = getPGDb();
putenv("PGPASSWORD=" . $password);
$dumpcmd = array("pg_dump", "-i", "-U", escapeshellarg($user), "-F", "c", "-b", "-v", "-f", escapeshellarg('/var/www/backups/backup-'.time().'.sql'), escapeshellarg($db));
exec(join(' ', $dumpcmd), $cmdout, $cmdresult);
putenv("PGPASSWORD");
?>
私は、データベース全体をリストアするpsqlを使用することができます知っているが、そのいずれかの方法がありますクエリを使用してテーブルの一部を選択的に復元できますか?私が考えることができる最も簡単なことは、psqlで一時データベースを作成し、目的のテーブルから行を読み込み、プライマリシリアルキーに基づいて競合する行を削除し、テーブルに挿入することです。
これを行うより良い方法はありますか?私は完全なSQLクエリ機能が必要になります。私の意見で
なぜPHPを画像に挿入するのですか? – e4c5
私はユーザーインターフェースと管理インターフェースを持っています。ユーザーインターフェイスから、データベースを変更することができます。私はPHPスクリプトを使用して1行だけを復元できるようにするために、管理インタフェースから手動で/コマンドラインから行う必要はありません。 – maxhud
この場合、 '普通の'形式でダンプを作成すると、PHPスクリプトは興味のある主キーを見つけてその行だけを挿入するまでファイルを繰り返し処理できるはずです。 – e4c5