2017-07-05 5 views
0

からデータベースを復元します。 psqlは私が空でないDBを持っていたとすると、バックアップそれを作ったのpg_dump

grant all privileges on database "myBase" to myUser

から

create database myBase

権限の付与し、その後ではpg_dumpから回復しようとしている::だから最初に私はしてデータベースを作成

pg_dump myBase < backup.sql

そして私はdidnのエラーはありませんが、0123でテーブルをチェックするとそれは完全に空です。 は、私はまたして復元しようとしている:

psql -h localhost -d myBase-U myUser-f backup.sql(あまりにもエラーがない、ないテーブル)

psql myBase < backup.sql(上記のような)

私はそれが明らかなものであるべきと仮定して、私はDBSと少しexpieriencesを持っていますより多くの経験豊富なユーザーのために。

+0

あなたはどのようにチェックしますか? 'psql myBase -c" \ dt "'?.. –

+0

'\ dt'はテーブルをテーブルに表示しますが、「関係が見つかりません」 –

+0

データベースを削除する前にリストを持っていて、 ?.. –

答えて

1

は、問題を再現することはできません:DPが空の場合

postgres=# create database so; 
CREATE DATABASE 
postgres=# \c so 
You are now connected to database "so" as user "postgres". 
so=# create table so(i int); 
CREATE TABLE 
so=# insert into so values (1); 
INSERT 0 1 
so=# \! pg_dump so > /tmp/so.sql 
so=# \c postgres 
You are now connected to database "postgres" as user "postgres". 
postgres=# drop database so; 
DROP DATABASE 
postgres=# create database so; 
CREATE DATABASE 
postgres=# \c so 
You are now connected to database "so" as user "postgres". 
so=# \dt 
No relations found. 
so=# \! psql so -f /tmp/so.sql 
SET 
SET 
SET 
SET 
SET 
SET 
CREATE EXTENSION 
COMMENT 
SET 
SET 
SET 
CREATE TABLE 
ALTER TABLE 
REVOKE 
REVOKE 
GRANT 
GRANT 
so=# \dt 
     List of relations 
Schema | Name | Type | Owner 
--------+------+-------+---------- 
public | so | table | postgres 
(1 row) 
+0

私はあなたの指示と" SO "問題は、私の場合はまだ動作しません。私が見ているのは、db行 "-f /tmp/so.sql"の復元の違いです。あなたは現在起こっていることのカップルラインを生成し、私は1つではない。たぶん私のダンプが壊れている? –

+0

stdoutにエラーがあるとステートメントにエラーがある場合...もちろん、sqlスクリプトの最初の行に '\ o some_file'を追加すると、psqlはすべての出力をsome_fileに送りますが、あなたは '-o'スイッチを使用していませんでしたか?.. –

+0

BTWダンプを破ることはできません。 Windows上で動作します。新しいデータベース、ユーザー、権限を付与し、データを復元し、ローカルで動作します。だから何らかの理由でLinux上で動作しない –

関連する問題

 関連する問題