postgres数据库备份与损坏的表

时间:2017-03-23 06:51:16

标签: postgresql database-backups database-dump

我们在数字海洋上运行Odoo 8,并希望将数据库移动到本地Intranet。为此我在本地机器上设置了Odoo 8。

我想导出数据库,但是我无法从Postgres导出到已安装的云端硬盘,每当我尝试导出时,我都会面临以下错误

pg_dump mydatabasetoday > /mnt/volume-fra1-01/db_backup/lakes2.sql


Error:
pg_dump: Dumping the contents of table "mail_message" failed: PQgetResult() failed.
pg_dump: Error message from server: ERROR:  missing chunk number 0 for toast value 148458 in pg_toast_18366
pg_dump: The command was: COPY public.mail_message (id, create_date, write_date, mail_server_id, write_uid, subject, create_uid, parent_id, subtype_id, res_id, message_id, body, model, record_name, no_auto_thread, date, author_id, type, reply_to, email_from, link_ebf, guid, type_email) TO stdout;

我已尝试reindex,但无法导出到.sql以从其他服务器还原

我只需要一个数据库导出即可。

到目前为止我们已完成的步骤。

  1. 从mydatabase复制到CSV格式的命令
  2. COPY ( select id, create_date, write_date, mail_server_id, write_uid,  create_uid, parent_id, subtype_id, res_id, message_id,body, record_name, no_auto_thread, date, model, reply_to, author_id,  email_from  from mail_message    ) TO '/tmp/sb_mail_message.csv' DELIMITER ',';
    

    无法导入。

    1. 从PGADMIN 4.1下载mail_messages所有已损坏表格的CSV样本格式。但导入的格式不正确。

    2. 使用脚本将导出邮件编码为CSV格式并尝试导入,但无法正常处理,导致我出现以下错误

    3. INTERNAL SERVER ERROR
      500 Internal Server Error
      Internal Server Error
      The server encountered an internal error and was unable to complete your request.  Either the server is overloaded or there is an error in the application
      

      我想知道是否有可能备份损坏的表

      1. 获取Postgres数据库快照的完整快照并恢复位置

      2. 将数据库从实时Postgres复制到本地Postgres。

0 个答案:

没有答案