在本地,我使用pgadmin3。然而,在远程服务器上,我没有这样的特权。
我已经创建了数据库备份并复制了它,但是是否有一种方法可以从命令行恢复备份?我只看到与GUI或pg_dumps相关的东西。
在本地,我使用pgadmin3。然而,在远程服务器上,我没有这样的特权。
我已经创建了数据库备份并复制了它,但是是否有一种方法可以从命令行恢复备份?我只看到与GUI或pg_dumps相关的东西。
当前回答
试试这个:
psql -U <username> -d <dbname> -f <filename>.sql
从。sql文件恢复数据库psql
其他回答
试试下面的命令是否能帮到你:
sudo su - yourdbuser
psql
\i yourbackupfile
如果您使用pg_dump创建了备份,您可以通过以下方式轻松地恢复它:
打开命令行窗口 进入Postgres bin文件夹。例如:cd "C:\ProgramFiles\PostgreSQL\9.5\bin" 输入恢复数据库的命令。例如:psql.exe -U postgres -d YourDatabase -f D:\Backup\.sql 输入postgres用户的密码 检查恢复进程
创建备份
pg_dump -h localhost -p 5432 -U postgres -F c -b -v -f
"/usr/local/backup/10.70.0.61.backup" old_db
-F c是自定义格式(压缩后,可以与-j N并行)-b是包含blobs, -v是verbose, -F是备份文件名。
从备份恢复
pg_restore -h localhost -p 5432 -U postgres -d old_db -v
"/usr/local/backup/10.70.0.61.backup"
设置-h localhost - option很重要
对不起,这些解决方案对我不起作用。我在10号邮差。在Linux上:
我必须将目录更改为pg_hba.conf。 我必须编辑该文件以将方法从peer更改为md5 重启服务:service postgresql-10 Restart 更改目录到我的备份。SQL被定位并执行: PSQL postgres -d database_name -1 -f backup.sql -database_name是数据库的名称 - backup。SQL是我的. SQL备份文件的名称。
恢复转储文件
psql -d [Dbname] -U [UserName] -p 5432 < [FileLocation]
恢复一个.SQL文件
pg_restore -U [Username] -d [Dbname] -1 [FileLocation]
如果出现用户身份验证错误,请转到程序文件PSQL/data文件夹中的pg_hba.conf文件,并将“METHOD”更改为“Trust”。 重新启动windows服务中的psql serive (Win + R—> services.msc)。