我们在操作数据库的时候,我们总会遇到很多错误。下面整理了一下常见的错误。
错误1:
FATAL: connection limit exceeded for non-superusers
原因:非超级用户的连接数(max_connections - superuser_reserved_connections)超过了设定值
解决办法:增加max_connections设定值,但如果增加了过多的话,数据库负担太大还容易产生内存错误。可以记住pg-pool等工具来辅助解决。
错误2:
FATAL: sorry, too many clients already
原因:数据库服务器的连接数超过了max_connections设定值。
解决办法:和错误1解决办法类似。
错误3:
LOG: checkpoints are occurring too frequently
原因:checkpoint处理正频繁发生。
解决办法:增加checkpoint_segments的值。
错误4:
LOG: archive command failed with exit code (X)
原因:archive_command 失败了。
解决办法:因为有可能是硬盘没空间了,所以可以把数据库的log删除一些。
错误5:
LOG: number of page slots needed (X) exceeds max_fsm_pages (Y)
原因:max_fsm_pages不足了。
解决办法:增加max_fsm_pages的同时进行 VACUUM FULL。
错误6:
ERROR: current transaction is aborted, commands ignored until end of transaction blockp
原因:数据库操作时,前一次操作中已经发生过错误了。
解决办法: PostgreSQL包級r:ERROR: current transaction is aborted, commands ignored until end of transaction blockp
错误7:
ERROR: operator does not exist: character = integer
原因:PostgreSQL8.3以后,取消了默认类型转换。因此需要使比较的类型保持一致。可以看cast函数。
该贴被蜀山战纪编辑于2015-12-3 15:49:21