#openGauss #入门 #安装 #数据库 #开源
知识来源:docs-opengauss.osinfra.cn/zh/
错误处理
一个提到了semget或shmget的错误信息可能意味着需要重新配置内核,提供足够的共享内存和信号灯。可以通过降低shared_buffers值以减少openGauss的共享内存的消耗,或者降低max_connections值减少openGauss的信号灯的消耗。
如果发现类似“另外一个服务器正在运行”的错误信息,可以根据系统使用不同的命令:
ps ax | grep gaussdb
或
ps -ef | grep gaussdb
如果确信没有冲突的服务器正在运行,可以删除消息里提到的锁文件然后再次运行。
无法绑定端口的错误信息可能表明该端口已经被其他非openGauss进程使用。如果终止gaussdb后又马上用同一端口号运行它,也可能得到错误信息。这时,必须多等几秒,等操作系统关闭了该端口再试。最后,如果使用了一个操作系统认为是保留的端口,也可能导致这个错误信息。例如:Unix版本认为低于1024的端口号是“可信任的”,因而只有Unix系统管理员可以使用它们。
须知:
- 如果有可能,不要使用SIGKILL杀死主进程。这样会阻止gaussdb在退出前释放它持有的系统资源(例如共享内存和信号灯)。这样可能会影响到将来启动新的进程。
- 可以使用SIGTERM、SIGINT、SIGQUIT信号正常结束服务器进程。第一个信号将等待所有的客户端退出后才退出。第二个将强制断开所有客户端,而第三个将不停止立刻退出,导致在重启时的恢复运行。
- 信号SIGHUP将会重新加载服务器配置文件。它也可能给单个服务器进程发送SIGHUP信号,但是这通常是不明显的。
- 要取消一个正在执行的查询,向正在运行的进程发送SIGINT信号。
- 主服务器进程向子进程发送SIGTERM信号让它们正常退出;发送SIGQUIT信号立即退出且不做清理工作。用户有三种信号不能用。同时,发送SIGKILL信号也是不明智的:主进程将把这个信号当作崩溃信号,然后会强制其他兄弟进程作为标准的崩溃回复过程退出。
#openGauss #入门 #安装 #数据库 #开源