自己编译的话,一定要看文档,正常情况下按下述步骤执行
1 | ./configure --prefix="binPath" |
world-bin会编译除了文档外全部可编译的内容。(几次使用中出错就是因为只使用了make
,导致扩展没被编译,而我正好需要使用citext这个扩展,所以导入数据时,会因为缺少citext类型而失败)
关于备份和导入数据
1 | pg_dump.exe -f d:/aa.dump -F c -d dbname |
这里要注意的是,当备份时-F
为c
时不要自作聪明加入--column-inserts
和--inserts
参数,这会导致恢复数据时变慢(可能是变成SQL语句插入了)。
在跨平台数据备份恢复时,要注意locale不同,所以一般在恢复数据时事先建好数据库,不要加-C
参数,这样就不会使用备份文件中的建库语句创建数据库。在日常使用中,也应该注意不要在表里指定特殊的字符集啥的。
重点就是:任何操作应该仔细阅读文档和命令帮助,不要想当然。其实本文所犯的错都是因为没认真阅读文档和命令帮助,结果花了更多的时间来排错。