SELECT Probe_Geometry_Columns();
便利なユーティリティです。
まず、既存のテーブルにジオメトリ列を追加すると
SELECT AddGeometryColumn('my_table', 'geo_column', 1234, 'MULTIPOINT', 2);
ジオメトリタイプの列(geo_column)を指定されたテーブル(my_table)に追加するために必要なすべての機能を関数に供給し、SRID(1234)、ジオメトリタイプ(MULTIPOINT)、次元数(2)などの重要な詳細を書き込みます。 geometry_columnsテーブル。本質的には、ALTERと3つのUPDATEです。
他の方法でジオメトリ列を作成すると(シェープファイルから読み込まれ、CREATE TABLE ASで選択されるなど)、データベース内では正常に機能しますが、外部アプリケーションからは見えない空間テーブルが生成される可能性があります。geometry_columnsに適切な詳細が保存されていない場合、投影された点、線、またはポリゴンを探すアプリケーションでは、実際のジオメトリ値は無意味な文字列として表示されます。
プローブ関数を呼び出すと、geometryタイプの各列がチェックされ、geometry_columnsに新しい値が追加されて競合が報告されます。
質問に戻りますが、GeoServerは、名前の変更がgeometry_columnsに反映されていない場合、名前が変更されたテーブルに空間データが含まれているとは考えていません。検討すべき他のことは、プローブ関数が新しいテーブル名を反映する重複レコードを作成するが、元のレコードを削除しないことです-GeoServerの別の潜在的なハングアップ。
以上のことをすべてお伝えします。1)プローブを実行してから、すぐに古いレコードを削除します。または2)geometry_columnsのALTERを使用して名前の変更を追跡し、f_table_nameの値を変更します。
言葉遣いで申し訳ありませんが、それが役に立てば幸いです。