SELECT Probe_Geometry_Columns();
เป็นเครื่องมือที่มีประโยชน์
ก่อนอื่นเมื่อเราผนวกคอลัมน์รูปทรงเรขาคณิตลงในตารางที่มีอยู่ด้วย
SELECT AddGeometryColumn('my_table', 'geo_column', 1234, 'MULTIPOINT', 2);
เรากำลังป้อนฟังก์ชั่นทุกอย่างที่จำเป็นเพื่อตรึงคอลัมน์ประเภทเรขาคณิต (geo_column) ลงในตารางที่ระบุ (my_table) และเขียนรายละเอียดที่สำคัญเช่น SRID (1234) ประเภทเรขาคณิต (MULTIPOINT) และจำนวนมิติ (2) ถึง ตาราง geometry_columns ในสาระสำคัญมันคือการเปลี่ยนแปลงและสามปรับปรุง
การสร้างคอลัมน์รูปทรงเรขาคณิตด้วยวิธีอื่น ๆ (โหลดจาก shapefile ที่เลือกใน CREATE TABLE AS และอื่น ๆ ) สามารถนำไปสู่ตารางเชิงพื้นที่ที่มองไม่เห็นจากแอปพลิเคชันภายนอกแม้ว่ามันจะทำงานได้ดีภายในฐานข้อมูล หากไม่มีรายละเอียดที่ถูกต้องถูกเก็บไว้ใน geometry_columns ค่ารูปทรงเรขาคณิตที่แท้จริงจะปรากฏเป็นสตริงอักขระที่ไม่เกี่ยวกับตัวอักษรสำหรับแอปพลิเคชันที่มองหาจุดเส้นหรือรูปหลายเหลี่ยมที่คาดการณ์ไว้
การเรียกใช้ฟังก์ชันโพรบตรวจสอบคอลัมน์ประเภทเรขาคณิตแต่ละคอลัมน์เพิ่มค่าใหม่ให้กับรูปเรขาคณิต _ คอลัมน์และความขัดแย้งในการรายงาน
วนกลับไปที่คำถามของคุณ GeoServer ไม่เชื่อว่าตารางที่เปลี่ยนชื่อนั้นมีข้อมูลเชิงพื้นที่หากการเปลี่ยนชื่อไม่ปรากฏในรูปเรขาคณิต geol_columns สิ่งอื่นที่ควรพิจารณาคือฟังก์ชันโพรบสร้างระเบียนที่ซ้ำกันซึ่งสะท้อนชื่อตารางใหม่ แต่ไม่ได้ลบเรกคอร์ดดั้งเดิม - ซึ่งอาจเป็นอีกการแฮงเอาท์สำหรับ GeoServer
ทั้งหมดที่กล่าวมาฉันขอแนะนำให้คุณ: 1) เรียกใช้โพรบแล้วลบระเบียนเก่าทันที หรือ 2) ติดตามการเปลี่ยนชื่อของคุณด้วย ALTER บน geometry_columns เพื่อเปลี่ยนค่า f_table_name
ขออภัยสำหรับ wordiness แต่ฉันหวังว่ามันจะช่วย