146

コンピューターが故障しましたが、幸いにも C:\Program Files\PostgreSQL フォルダーをバックアップしました。

現在、新しいコンピューターで作業しており、外部ディスクに保存されている以前の Postgres データベースをインポートしたいと考えています。

バックアップ フォルダにある特定のデータベースのスキーマをエクスポートしたいと考えています。

このファイルPostgreSQL\8.3\data\global\pg_databaseには、データベースとその OID に関する情報が含まれています。例えば:

"db1" 20012
"db2" 23456

「db1」のスキーマをエクスポートしたいと考えています。

"PostgreSQL\8.3\data\base\20012" ファイル数が多いフォルダ[500ファイル]の中に「20012」という名前のフォルダがあります。

そのデータベースのスキーマをエクスポートする方法はありますか?

すべての Postgresql データベース ファイルは外付けハードディスクにあることに注意してください。そのデータベースのスキーマを SQL ファイルにエクスポートし、そのファイルを取得して実行し、まったく同じデータベースをローカルに作成したいと考えています。

4

9 に答える 9

177

あなたは見てみる必要がありますpg_dump

pg_dump -s databasename

スキーマのみを .sql として stdout にダンプします。

Windows の場合は、おそらくpg_dump.exe. 私は Windows マシンにアクセスできませんが、記憶からそれがコマンドであると確信しています。ヘルプがあなたにも役立つかどうかを確認してください。

于 2013-01-23T18:13:08.077 に答える
2

新しい postgresql サーバーをセットアップし、そのデータ フォルダーを外部ディスクのファイルに置き換えます。

その後、そのpostgresqlサーバーを起動し、pg_dumpを使用してデータを取得できます(前述のスキーマのみのpg_dump -s)

于 2013-01-23T18:25:49.850 に答える