点击分区管理,出现错误网页提示:User Permission verification error: SQLSTATE[42703]: Undefined column: 7 ERROR: column p.inhrelid does not exist LINE 11: COUNT(DISTINCT p.inhrelid) AS total_... ^ HINT: Perhaps you meant to reference the column "i.inhrelid".

确定不兼容有错页面为 /src/Database/Partition/PartitionRegistry.php

找到这段代码
128行

  
// 通过检测直接子表的 partstrat 判断是否有子分区
            $sql = "SELECT
                        c.relname AS TABLE_NAME,
                        'RANGE' AS PARTITION_METHOD,
                        CASE WHEN EXISTS (
                            SELECT 1 FROM pg_inherits i_sub
                            JOIN pg_partitioned_table pt_sub
                              ON pt_sub.partrelid = i_sub.inhrelid
                            WHERE i_sub.inhparent = c.oid
                              AND pt_sub.partstrat = 'h'
                        ) THEN 'HASH' ELSE NULL END AS SUBPARTITION_METHOD,
                        COUNT(DISTINCT p.inhrelid) AS total_par,
                        COUNT(DISTINCT l.inhrelid) AS total_sub
                    FROM pg_class c
                    JOIN pg_partitioned_table pt ON pt.partrelid = c.oid
                    LEFT JOIN pg_inherits i ON i.inhparent = c.oid
                    LEFT JOIN pg_class p ON p.oid = i.inhrelid
                      AND p.relispartition = true
                    LEFT JOIN pg_inherits i2 ON i2.inhparent = p.oid
                    LEFT JOIN pg_class l ON l.oid = i2.inhrelid
                    WHERE c.relname LIKE '"
                        . str_replace("'", "''", $prefixEscaped) . "%'
                      AND c.relispartition = false
                      AND pt.partstrat = 'r'
                    GROUP BY c.relname, pt.partstrat";



替换为
// 通过检测直接子表的 partstrat 判断是否有子分区
$sql = "SELECT
            c.relname AS TABLE_NAME,
            'RANGE' AS PARTITION_METHOD,
            CASE WHEN EXISTS (
                SELECT 1 
                FROM pg_inherits i_sub
                JOIN pg_partitioned_table pt_sub ON pt_sub.partrelid = i_sub.inhrelid
                WHERE i_sub.inhparent = c.oid
                  AND pt_sub.partstrat = 'h'
            ) THEN 'HASH' ELSE NULL END AS SUBPARTITION_METHOD,
            COALESCE((
                SELECT COUNT(DISTINCT i.inhrelid)
                FROM pg_inherits i
                WHERE i.inhparent = c.oid
            ), 0) AS total_par,
            COALESCE((
                SELECT COUNT(DISTINCT i2.inhrelid)
                FROM pg_inherits i2
                JOIN pg_class p_sub ON p_sub.oid = i2.inhrelid
                WHERE i2.inhparent IN (
                    SELECT i.inhrelid
                    FROM pg_inherits i
                    WHERE i.inhparent = c.oid
                )
                  AND p_sub.relispartition = true
            ), 0) AS total_sub
        FROM pg_class c
        JOIN pg_partitioned_table pt ON pt.partrelid = c.oid
        WHERE c.relname LIKE '" 
            . str_replace("'", "''", $prefixEscaped) . "%'
          AND c.relispartition = false
          AND pt.partstrat = 'r'
        GROUP BY c.relname, c.oid, pt.partstrat";



保存,后台清楚缓存,重启PHP,前台刷新,OK。