PostgreSQL 的连续归档和时间点恢复似乎备份和恢复要复杂得多。与使用 SQL 转储方法相比有哪些优点?我的环境是Windows Server 2008。
今天早些时候,我试图使用pgAdmin III从生产中恢复我的PostgreSQL(8.1.22)数据库.但是,在恢复过程完成后,它开始抛出错误,如:
WARNING: errors ignored on restore: 4
Run Code Online (Sandbox Code Playgroud)
此外,经过调查,我发现所有表中有3个表尚未恢复(包含0行).当我检查日志时,我在3个表附近发现了以下错误:
pg_restore: [archiver (db)] Error from TOC entry 5390; 0 442375 TABLE DATA tablename postgres
pg_restore: [archiver (db)] COPY failed: ERROR: invalid byte sequence for encoding "UTF8": 0xea0942
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
CONTEXT: COPY tablename , line 7875
Run Code Online (Sandbox Code Playgroud)
我尝试在Google上研究我的问题,但没有结果.请帮助恢复这三个表没有任何错误.
postgresql database-restore database-backups postgresql-9.1 postgresql-8.4
我需要.bak在 Azure 托管上创建我的 SQL Server 数据库的备份文件,因为这是我的新托管支持还原数据库的唯一方法。
这甚至可以做到吗?在 SQL Server Management Studio 中,当我右键单击我的数据库时,“任务”下没有“备份”选项。SQL Server 版本是标准版,而不是 Express。
我试图避免在我的工作流程中触及共享开发数据库;为了使这更容易,我想在我的磁盘上为我需要的模式定义 Docker 镜像。然而,我在制作一个 Dockerfile 时遇到了困难,该文件将创建一个已恢复转储的 Postgres 映像。我的问题是在构建 Docker 映像时,Postgres 服务器没有运行。
在 shell 中的容器中乱搞时,我尝试手动启动容器,但我不确定这样做的正确方法是什么。/docker-entrypoint.sh似乎什么也没做,我不知道如何“正确”启动服务器。
所以我需要做的是:
psql以恢复转储文件(我不知道的步骤用斜体表示,其余的很容易。)
我想避免的是:
我已经解决了一些类似的问题,但没有找到任何可行的解决方案。
我尝试djang-dbbackup在我的 Django 项目中使用模块。我运行$ python manage.py dbbackup并收到此错误:
CommandConnectorError: Error running: pg_dump last_cosmetics --host=localhost --username=postgres --no-password --clean
b'pg_dump: too many command-line arguments (first is "--host=localhost")\r\nTry "pg_dump --help" for more information.\r\n'
Run Code Online (Sandbox Code Playgroud)
我还尝试在 Windows cmd 上运行它。
pg_dump last_cosmetics --host=localhost --username=postgres --no-password --clean
Run Code Online (Sandbox Code Playgroud)
但我仍然遇到同样的错误。
我有另一台PC的SQL Server备份文件 - 我无法更改此文件
当我尝试恢复时,我收到此错误:
数据库在运行版本10.50.1600的SQL Server上备份.该版本与此服务器不兼容,该服务器运行的是10.00.2531版本.在支持备份的服务器上还原数据库,或使用与此服务器兼容的备份.
TL; DR: 我的POS使用Sybase Advantage数据库服务器存储我的销售数据,我想访问它,但我只有备份文件.
我拥有一家拥有"先进"POS软件的小型企业,该软件拥有我所有销售数据的唯一副本.他们有一些备份计划,但他们不愿透露任何细节.还有一个自动每日本地备份例程,但由于这是一个POS并且有关于删除数据的某些法律,我不允许(也不需要软件)从备份恢复甚至检查它是否有效.当他最后一次从备份恢复时,我问了支持人员,他说"别担心,我们不需要它".
当然,我很担心.
在这一点上我会注意到法律要求我保留这些数据,如果我因任何原因未能这样做,我个人可能面临数百万的巨额罚款.我想避免这种情况.
除了保存数据,并验证备份包含我需要保留的数据之外,我还想创建报告.POS供应商声称它可以创建我需要的任何报告,但是每次我向他们询问报告时,它都包含错误的数据,崩溃,导出不可读的文件(他们的回复是文件很好) ,我的[插入相关文件阅读器]已被破坏),或者根本就不存在(他们的回复通常类似于"你无论如何都不需要该报告").我问过自己访问数据库的副本,他们说他们不能允许这样做.我唯一的办法就是为开发和测试报告支付数万美元.你问我想要什么报告?
SELECT * FROM SALES
Run Code Online (Sandbox Code Playgroud)
要创建这个简单的报告,我需要将我的数据从Sybase Advantage数据库服务器备份文件迁移到我可以使用的格式,例如MySQL数据库,但我发现的所有迁移工具都需要访问工作的数据库服务器.
如何从这些备份中获取数据?
sybase advantage-database-server sqlanywhere database-restore database-backups
我有几个*.sql转储文件,我想恢复到新创建的数据库'spatial_db'.我知道我可以通过命令行恢复它们:
psql -U username -h 127.0.0.1 -d spatial_db -f path/to/dump/file.sql
有没有办法通过pgAdmin恢复*.sql文件和*.backup文件一样?
我们一直在使用9.5 postgres.
我们使用pgdump从该数据库中获取备份文件,然后使用它来恢复9.6 postgres.
我们无法成功恢复.通常,次要版本升级并不意味着向后破坏.
我想知道导致我们无法在9.6数据库上成功恢复的问题是什么.
我们需要这样做以防万一我们需要从归档数据备份中恢复.
database-backups ×10
postgresql ×6
backup ×3
sql-server ×2
azure ×1
database ×1
django ×1
docker ×1
mongodb ×1
pgadmin ×1
python ×1
sqlanywhere ×1
sybase ×1