-
PostgreSQL 數據庫 模式 schema
- 看項目源代碼時會發現數據庫下面不是表等數據,取而代之是模式,模式包含表,區別於以前學到的數據庫下是表,其實這中間也穿插了public
- 一個數據庫包含一個或多個命名的模式,模式又包含表。模式還包含其它命名的對象,包括數據類型、函數,以及操作符。同一個對象名可以在不同的模式里使用而不會導致沖突; 比如,schema1和myschema都可以包含叫做mytable的表。和數據庫不同,模式不是嚴格分離的:一個用戶可以訪問他所連接的數據庫中的任意模式中的對象,只要他有權限。
- 每當我們創建一個新的數據庫時,PostgreSQL都會為我們自動創建public模式。當登錄到該數據庫時,如果沒有特殊的指定,我們將以該模式(public)的形式操作各種數據對象,
- 總結我們需要模式有以下幾個主要原因:
- 允許多個用戶使用一個數據庫而不會干擾其它用戶。
- 把數據庫對象組織成邏輯組,讓它們更便於管理。模式是對數據庫的邏輯分割。schema就是數據庫對象的集合。
- 第三方的應用可以放在不同的模式中,這樣它們就不會和其它對象的名字沖突。
- 參考鏈接:https://blog.csdn.net/love_jindong2010/article/details/41844227?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-2-41844227.pc_agg_new_rank&utm_term=%E6%95%B0%E6%8D%AE%E5%BA%93%E6%A8%A1%E5%BC%8Fpublic&spm=1000.2123.3001.4430
- 知曉PostgreSQL表空間、數據庫、模式、表、用戶、角色之間的關系
- 參考鏈接:https://blog.csdn.net/chichichichi/article/details/82189138?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-0.highlightwordscore&spm=1001.2101.3001.4242.1