pg_dump -D -h 127.0.0.1 -U postgres commonsns>文件名
这句在windows下可以成功运行,而在Linu下,为何运行后生成的文件是空的呢?
另外,不带参数-D的pg_dump -h 127.0.0.1 -U postgres commonsns>文件名
这句在windows和Linux下就都可以成功运行?
这是咋回事啊?
有什么解决办法吗?如果,服务器是Linux,我想备份数据库,要如何实现呢?

解决方案 »

  1.   

    try:pg_dump -D -h localhost -U postgres commonsns>/home/hbhl/db_${datestr}.txt
      

  2.   

    datestr=$(date +%Y%m%d)
    pg_dump -D -h localhost -U postgres commonsns>/home/hbhl/db_${datestr}.txt
    or
    pg_dump -D -h localhost -U postgres commonsns>/home/hbhl/db`date +%Y%m%d`.txt
      

  3.   

    你的用法错误。
    如果-D不好使 不存在 就会报unkown option或者invalid optionman pg_dump
      

  4.   

    谢谢大家的帮助,原因找到了,原来是因为Linux和windows下的参数名不一样,-D是windows的写法,Linux要用--column-insert才行的