SELECT Probe_Geometry_Columns();
是一个方便的实用程序。
首先,当我们将几何列附加到现有表时,
SELECT AddGeometryColumn('my_table', 'geo_column', 1234, 'MULTIPOINT', 2);
我们正在向函数提供将几何类型(geo_column)类型的列固定到指定表(my_table)所需的所有信息,并将诸如SRID(1234),几何类型(MULTIPOINT)和维数(2)之类的重要细节写入geometry_columns表。本质上,它是一个ALTER和三个UPDATE。
通过其他方式(从shapefile加载,在CREATE TABLE AS中选择等)创建几何列可以导致空间表对于外部应用程序不可见,尽管它们在数据库中工作得很好。如果没有正确的详细信息存储在geometry_columns中,则实际的几何值将作为无意义的字符串显示在寻找投影点,线或面的应用程序中。
调用probe函数会检查类型为geometry的每一列,将新值添加到geometry_columns并报告冲突。
回到您的问题,如果名称更改未反映在geometry_columns中,则GeoServer不认为重命名的表包含空间数据。还需要考虑的另一点是,探测功能会创建一条反映新表名的重复记录,但不会摆脱原始记录,这是GeoServer的另一个潜在问题。
所有这些,我建议您:1)运行探针,然后立即删除旧记录;或2)通过对geometry_columns的ALTER更改名称来更改f_table_name值。
抱歉,请耐心等待,但希望对您有所帮助。