在本地,我使用pgadmin3。然而,在远程服务器上,我没有这样的特权。
我已经创建了数据库备份并复制了它,但是是否有一种方法可以从命令行恢复备份?我只看到与GUI或pg_dumps相关的东西。
在本地,我使用pgadmin3。然而,在远程服务器上,我没有这样的特权。
我已经创建了数据库备份并复制了它,但是是否有一种方法可以从命令行恢复备份?我只看到与GUI或pg_dumps相关的东西。
当前回答
请看下面的例子,它的工作
C:/Program Files/PostgreSQL/9.4/bin\pg_restore.exe——host localhost——port 5432——username "postgres"——dbname "newDatabase"——no-password——verbose
“C: \用户下载\优\ \新下载\ DB.backup”
其他回答
备份= = >
选项1:在cmd中备份密码 1.PGPASSWORD="mypassword" pg_dump -U postgres -h localhost——insert mydb>mydb.sql 选项2:在cmd中进行无密码备份 2. pg_dump -U postgres -h localhost——插入mydb>mydb.sql Option3:以gzip格式备份(如果数据库很大) 3.pg_dump -U postgres -h localhost mydb——insert | gzip > mydb.gz
恢复: 1. psql -h localhost -d mydb -U postgres -p 5432 < mydb.sql
我没有看到这里提到转储文件扩展名(*.dump)。
这个解决方案对我很有效:
我有一个转储文件,需要恢复它。
首先,我尝试用pg_restore这样做,并得到:
pg_restore: error: input file appears to be a text format dump. Please use psql.
我用psql做了,工作得很好:
psql -U myUser -d myDataBase < path_to_the_file/file.dump
恢复postgres备份文件取决于最初是如何进行备份的。
如果你使用pg_dump和-F c或-F d,你需要使用pg_restore,否则你可以使用
psql -h localhost -p 5432 -U postgres <备份文件
9种备份和恢复postgres数据库的方法
1)打开psql终端。
2)解压/ untar转储文件。
3)创建一个空数据库。
4)使用以下命令恢复。dump文件
<database_name>-# \i <path_to_.dump_file>
没有密码提示的最短路径
psql "postgresql://<db_user>:<db_pass>@<ip>:<port>/<db_name>" < "backup.sql"
如果您使用Windows操作系统
psql.exe "postgresql://<db_user>:<db_pass>@<ip>:<port>/<db_name>" < "backup.sql"