You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL 9.2.24无法编辑/删除数据,phpPgAdmin报无唯一标识符错误求助

phpPgAdmin报错‘No unique identifier for this row.’的解决思路
  • 检查主键/唯一键数据类型适配
    PostgreSQL 9.2.24对UUID、JSON/JSONB或自定义类型的主键识别存在局限,部分cPanel适配的phpPgAdmin版本可能未兼容这类类型。可临时将主键改为SERIAL或INT测试,若能正常编辑,需调整phpPgAdmin的config.inc.php配置,开启对应数据类型支持,或在cPanel允许的前提下升级phpPgAdmin版本。

  • 验证系统表主键信息检测
    phpPgAdmin通过information_schema识别主键,若系统表数据异常或权限不足会导致检测失败。执行以下SQL检查目标表主键:

    SELECT column_name FROM information_schema.table_constraints tc
    JOIN information_schema.constraint_column_usage ccu
    ON tc.constraint_name = ccu.constraint_name
    WHERE tc.table_name = 'your_table_name' AND tc.constraint_type = 'PRIMARY KEY';
    

    若返回正确主键但phpPgAdmin仍报错,清空phpPgAdmin缓存目录(如/var/cache/phpPgAdmin/),重启PHP-FPM服务。

  • 排查PHP 7.4兼容性问题
    适配PostgreSQL 9.2的旧版phpPgAdmin可能和PHP 7.4存在函数兼容性问题(如废弃函数导致逻辑失效)。查看phpPgAdmin错误日志(cPanel“错误日志”模块或/usr/local/cpanel/logs/phpPgAdmin/路径),根据报错修改对应源码,替换为PHP 7.4兼容的函数实现。

  • 确认PostgreSQL系统表权限
    即使拥有全库权限,仍需确认是否具备pg_constraint等系统表的查询权限:

    SELECT has_table_privilege(current_user, 'pg_constraint', 'SELECT');
    

    若返回f,执行授权语句:

    GRANT SELECT ON pg_constraint TO your_user;
    

    同时检查search_path确保包含pg_catalog和information_schema:

    SHOW search_path;
    
  • 检查cPanel专属配置限制
    cPanel集成的phpPgAdmin可能有自定义安全限制。尝试切换至cPanel原生phpPgAdmin版本,或在“PostgreSQL数据库”模块确认enable_pgadmin_editing类选项是否开启。

内容的提问来源于stack exchange,提问作者Daniela Zavallone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 15:12:42