
# GAUSS-01981 -- GAUSS-01990 错误码
GAUSS-01981: "could not seek in log file %u, segment %u to offset %u: %m"
SQLSTATE: XX000
错误原因：文件读写位置跳转失败，可能是访问非法文件描述符。
解决办法：根据%m给出的提示信息，检查是否存在磁盘故障、文件损坏等相关异常。修复方法：1. 如果是备机出现，等待集群管理软件自动修复实例，若仍不能正常工作，请联系技术支持工程师对备机进行修复。2. 如果是主机损坏，则CM会重新拉起；如果持续故障，请更换存储介质。
GAUSS-01982: "could not write to log file %u, segment %u at offset %u, length %lu: %m"
SQLSTATE: XX000
错误原因：写日志段文件出错。请根据报错信息确定具体的文件操作失败原因。
解决办法：根据提示信息，检查是否存在磁盘故障、文件损坏等相关异常。修复方法：1. 如果是备机出现，等待集群管理软件自动修复实例，若仍不能正常工作，请联系技术支持工程师对备机进行修复。2. 如果是主机损坏，则CM会重新拉起；如果持续故障，请更换存储介质。
GAUSS-01983: "cannot continue WAL streaming, recovery has already ended"
SQLSTATE: XX000
错误原因：主机上不应启动walreceiver，如果启动了报错退出。
解决办法：正常报错，不用处理。
GAUSS-01984: "invalid standby handshake message type %d"
SQLSTATE: 08P01
错误原因：主机收到备机无效的握手消息类型。
解决办法：检查主备节点网络环境，排查是否存在丢包现象。如果没有，请联系技术支持工程师提供技术支持。
GAUSS-01985: "invalid standby query string: %s"
SQLSTATE: 08P01
错误原因：主机收到备机无效的查询字段。
解决办法：检查主备节点网络环境，排查是否存在丢包现象。如果没有，请联系技术支持工程师提供技术支持。
GAUSS-01986: "invalid standby message type '%c'"
SQLSTATE: 08P01
错误原因：主机收到备机无效的消息类型。
解决办法：检查主备节点网络环境，排查是否存在丢包现象。如果没有，请联系技术支持工程师提供技术支持。
GAUSS-01987: "number of requested standby connections exceeds max_wal_senders (currently %d)"
SQLSTATE: 53300
错误原因：主机上备机连接数达到上限，可能原因是备机尝试连接主机很多次，每次连接都失败了。
解决办法：查看之前的连接是否已关闭，如果没有则人工关掉。
GAUSS-01988: "could not read to data file %s length %u: %m"
SQLSTATE: XX000
错误原因：无法读取指定的文件。
解决办法：根据日志中的提示的%m错误信息确定读取的具体原因。修复方法：1. 如因文件不可读等相关可恢复因素导致，请恢复后重新启动。2. 如因文件损坏磁盘故障等不可恢复因素导致，请从备份中恢复集群。
GAUSS-01989: "fseek data file num %u error"
SQLSTATE: XX000
错误原因：文件读写位置跳转失败，可能是访问非法文件描述符。
解决办法：需要开发人员根据提示排查文件描述符的访问。
GAUSS-01990: "datareceiver still running according to shared memory state"
SQLSTATE: XX000
错误原因：系统内部错误。
解决办法：请联系技术支持工程师提供技术支持。
