国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【PostgreSQL】連接pg數(shù)據(jù)庫Schema切換

這篇具有很好參考價值的文章主要介紹了【PostgreSQL】連接pg數(shù)據(jù)庫Schema切換。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

問題情況

由于PostgreSQL數(shù)據(jù)庫模式(schema)存在多個,原先的表單是默認采用public但是查詢表和字段時候有查詢所有未進行過濾,導致數(shù)據(jù)庫連接失敗、查表字段也為空(空即查詢服務端異常錯誤)
【PostgreSQL】連接pg數(shù)據(jù)庫Schema切換

解決方式

  • 數(shù)據(jù)庫連接配置

添加參數(shù)補充?currentSchema=dwd
譬如:username=root;password=XXXX;url=jdbc:postgresql://11.XX.XX.145:5432/test_data?currentSchema=dwd


代碼優(yōu)化

代碼調(diào)整

首先獲取url:

jdbc:postgresql://localhost:5432/test_data?currentSchema=dwd     ==> 解析【currentSchema=dwd】
jdbc:postgresql://localhost:5432/test_data?currentSchema=public  ==> 解析【currentSchema=public】
jdbc:postgresql://localhost:5432/test_data                       ==> 解析【currentSchema=null】默認表使用【current_schema()】表字段查詢使用【public】

然后根據(jù)解析,參數(shù)傳遞查詢文章來源地址http://www.zghlxwxcb.cn/news/detail-505231.html

	 /**
	 * 解析 jdbc的url內(nèi)的默認參數(shù)
	 * <p>
	 * 譬如:username=root;password=XXXX;url=jdbc:postgresql://11.XX.XX.145:5432/test_data?currentSchema=dwd
	 * 獲取 currentSchema=dwd
	 *
	 * @param url
	 * @return
	 */
	public static Map<String, Object> analysisDefParam(String url) {
		Map<String, Object> value = new HashMap<>();
		try {
			String[] params = url.split("\\?");

			List<String> param = new ArrayList<>();
			if (params.length > 1) {
				param = Arrays.asList(params[1].split("&"));
			}
			param.forEach(p -> {
				String[] item = p.split("=");
				if (item.length > 1) {
					value.put(item[0], item[1]);
				}
			});
		} catch (Exception e) {
			log.error("出現(xiàn)異常 {} {}", e);
		}
		return value;
	}
  • 其他
## 版本查看
select version();

datasource 如何指定postgresql 連接的schema
##9.4開始通過關(guān)鍵字currentSchema指定
jdbc:postgresql://localhost:5432/mypgsql?currentSchema=myschema

##舊版本通過searchpath指定 (代碼暫未兼容)
jdbc:postgresql://localhost:5432/mypgsql?searchpath=myschema

到了這里,關(guān)于【PostgreSQL】連接pg數(shù)據(jù)庫Schema切換的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • PostgreSQL連接指定數(shù)據(jù)庫

    要連接到PostgreSQL中的指定數(shù)據(jù)庫,您需要使用以下格式的連接字符串: 其中,username是連接PostgreSQL的用戶名,password是該用戶的密碼,hostname是PostgreSQL服務器的主機名或IP地址,port是PostgreSQL服務器的端口號,database_name是要連接的數(shù)據(jù)庫名稱。 例如,如果您要連接到名為my

    2024年02月11日
    瀏覽(24)
  • openGauss數(shù)據(jù)庫pg_xlog爆滿問題解決

    openGauss數(shù)據(jù)庫pg_xlog爆滿問題解決

    最近有一個之前搭的環(huán)境登不上了,好久沒用想拿來測試的時候發(fā)現(xiàn)啟動不了。啟動時報錯: [Errno 28] No space left on device query也不行了,提示沒有空間了。 查詢磁盤使用情況 df -h ,果然100% 這個環(huán)境當時安裝的是主備,看了下備庫的服務器,發(fā)現(xiàn)不知道啥時候已經(jīng)被刪庫了,

    2024年02月02日
    瀏覽(21)
  • Python 連接 PostgreSQL 數(shù)據(jù)庫

    Python 連接 PostgreSQL 數(shù)據(jù)庫

    Psycopg 是最受歡迎的用于連接 PostgreSQL 的 Python 驅(qū)動庫, Psycopg 完全遵守 Python DB API 2.0 規(guī)范, 并且是線程安全的, 在底層直接調(diào)用 C 庫 libpq 安裝 psycopg2-binary 是預編譯的包, 自帶 libpq 和 libssl 庫 psycopg2 的命名來源于 http://psyco.sourceforge.net/, 末尾的 pg 表示 PostgreSQL 簡單示例 使用

    2024年02月06日
    瀏覽(18)
  • python連接postgresql數(shù)據(jù)庫

    python連接postgresql數(shù)據(jù)庫

    postgresql是常用的關(guān)系型數(shù)據(jù)庫,并且postgresql目前還保持著全部開源的狀態(tài),所以我們今天就一起來學習一下,如何用python連接postgresql。 官方文檔地址: https://www.psycopg.org/docs/cursor.html 若是增、刪、更等操作,則操作流程為: connect 連接 獲取游標對象 cursor 執(zhí)行sql得到結(jié)果

    2024年02月16日
    瀏覽(20)
  • PostgreSQL 數(shù)據(jù)庫實現(xiàn)公網(wǎng)遠程連接

    PostgreSQL 數(shù)據(jù)庫實現(xiàn)公網(wǎng)遠程連接

    PostgreSQL是一個功能非常強大的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),下面簡單幾步通過cpolar 內(nèi)網(wǎng)穿透工具即可現(xiàn)實本地postgreSQL 遠程訪問! 1. 安裝postgreSQL 進入官網(wǎng)下載界面,我們下載自己需求的版本,這里選擇windows 為例:https://www.postgresql.org/download/ 下載后運行安裝文件,進行一步步安

    2024年02月08日
    瀏覽(31)
  • Navicat 連接遠程數(shù)據(jù)庫 Postgresql、MySQL

    Navicat 連接遠程數(shù)據(jù)庫 Postgresql、MySQL

    不管什么數(shù)據(jù)庫,只要用Navicat連接遠程,下面的方法均奏效。 環(huán)境: 服務器:遠程服務器 操作系統(tǒng):?: linux 數(shù)據(jù)庫:PostgreSQL14 數(shù)據(jù)庫客戶端:Navicat 主要分為兩步: 第一步:點擊Navicat左上角的“連接”,選擇Postgresql。先連接SSH服務器。 ?勾選“使用SSH通道”,在下面輸

    2024年02月05日
    瀏覽(24)
  • DBeaver數(shù)據(jù)庫管理工具安裝連接PostgreSQL和DM

    DBeaver數(shù)據(jù)庫管理工具安裝連接PostgreSQL和DM

    1. 安裝 下載地址 https://dbeaver.io/download/ 2. 連接PostgreSQL 配置顯示所有數(shù)據(jù)庫 第二個勾選會顯示模板數(shù)據(jù)庫 點擊 測試連接 ,然后下載驅(qū)動 連接成功 3. 連接DM8 3.1 下載驅(qū)動 地址 https://eco.dameng.com/document/dm/zh-cn/app-dev/java_Mybatis_frame.html 下載完成解壓,將需要的 DmJdbcDriver18.jar 放到

    2024年02月16日
    瀏覽(33)
  • 如何使用IDEA連接PostgreSQL數(shù)據(jù)庫:從新手到高手的全面指南

    如何使用IDEA連接PostgreSQL數(shù)據(jù)庫:從新手到高手的全面指南

    博主貓頭虎的技術(shù)世界 ?? 歡迎來到貓頭虎的博客 — 探索技術(shù)的無限可能! 專欄鏈接 : ?? 精選專欄 : 《面試題大全》 — 面試準備的寶典! 《IDEA開發(fā)秘籍》 — 提升你的IDEA技能! 《100天精通鴻蒙》 — 從Web/安卓到鴻蒙大師! 《100天精通Golang(基礎(chǔ)入門篇)》 — 踏入

    2024年04月15日
    瀏覽(63)
  • postgresql導入導出數(shù)據(jù)庫的一些問題

    就創(chuàng)建一個空庫,啥也不用管,也不用添加 postgis 之類的擴展 如果是不同節(jié)點之間遷移,建議先創(chuàng)建之前的用戶,如果沒有之前的用戶導入時會導致表所有者是postgres

    2024年02月17日
    瀏覽(19)
  • SpringBoot整合Druid數(shù)據(jù)庫連接池&多數(shù)據(jù)源&注解切換&動態(tài)添加

    配置好之后 Druid 會通過 DruidDataSourceAutoConfigure 自動裝配 屬性配置 數(shù)據(jù)源枚舉 動態(tài)數(shù)據(jù)源 繼承 AbstractRoutingDataSource 就可以實現(xiàn)動態(tài)數(shù)據(jù)源了 實現(xiàn)了一個動態(tài)數(shù)據(jù)源類的構(gòu)造方法,主要是為了設(shè)置默認數(shù)據(jù)源,以及以Map保存的各種目標數(shù)據(jù)源。其中Map的key是設(shè)置的數(shù)據(jù)源名稱

    2024年03月22日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包