Python

檢查數據庫表是否已重命名

  • March 18, 2021

我的應用程序有一個外部數據庫表的列表,需要定期更新。如何檢查表是否已重命名?即如何區分新表和已重命名的舊表?尋找可以在盡可能多的引擎中工作的 sql/python/sqlalchemy 解決方案。

我知道postgres 中的 OID,但據我所知,它不是很可靠,並且 mysql 中沒有等價物。我想我可以對創建時間和修改時間做一些事情,但我想看看是否有更簡單的方法。

編輯:該應用程序是外部數據庫連接到的數據視覺化工具。我無法控制連接到應用程序的 dbs 的設計,這就是為什麼我需要考慮表被重命名的原因。

tableoid除了通過 OID(系統列)之外,沒有其他方法可以在 PostgreSQL 中建立數據庫表的身份。創建時間不儲存在 PostgreSQL 中。

依賴表 OID 不僅是 PostgreSQL 專有的,而且有些不安全,因為 OID 可以被重用。我建議您將表修改的清單保存在單獨的數據庫表中。

引用自:https://dba.stackexchange.com/questions/287276