rt,希望有直接可以情况数据库的命令。。我们产品中要备份和恢复数据库数据, 但是用的是dropdb 再createdb ,这样不好:备份数据库,红色部分是指定的备份文件:
pg_dump -U postgres -o -O --schema=public postgres > $DB_BACKUP_FILEdrop掉原来的postgres数据库:
dropdb postgres创建一个新的数据库:
createdb postgres导入之前所备份的数据库文件:
psql -d postgres -f $DB_BACKUP_FILE注意:上面的执行都是在postgres用户下操作的。同时要在备份导入前后,验证下MD业务是否OK。

解决方案 »

  1.   

    http://blog.chinaunix.net/u3/116107/showart.php?id=2275582你参照下这个存储过程,清理测试数据的。
      

  2.   

    嗯,不过这个存储过程只是处理表的,我这里好像还有CREATE VIEW 、CREATE INDEX、还有COPY 表数据的(不过DELETE表后自然没有数据了,嗯。。应该视图等等也没有了吧,会不会有依赖不让删除表啊??)
      

  3.   


    说错了,存储过程是只删除表中数据的,不删除表定义的是吧?嗯,这个有用,可是我不会写postgres的存储过程。。
      

  4.   

    还是用dropdb 吧,这样比较方便,也比较干净。