pdmaner从pg数据库导入表结构,无法筛选schema的问题处理

一、问题描述

在这里插入图片描述
如图,不同schame下同名的表全部显示,我使用的版本是4.7.0。
一开始尝试使用currentSchema,但无效。

jdbc:postgresql://ip:端口/数据库?currentSchema=xxschema

后来找到官方仓库,检索发现已有人提出过问题。
官方仓库地址: https://gitee.com/robergroup/pdmaner
在这里插入图片描述
在这里插入图片描述
按该回答使用此配置也不生效,实际未修复此问题。

jdbc:postgresql://IP地址:端口号/数据库名?metaFromSQL=1&schemaOwner=数据库名

二、问题解决

2.1.后端工程搭建并修复问题

下载地址: https://gitee.com/robergroup/chiner-java.git

2.1.1 找到问题类

DBDialectPostgreSQLByQuery.java
在这里插入图片描述

2.1.2 调整问题代码

在这里插入图片描述
新增红框中的一行代码,如下

" join pg_namespace e on e.nspname = tb.table_schema and e.oid = c.relnamespace"+ //筛选schema

在这里插入图片描述
解决字段重复问题

" join pg_namespace e on e.nspname = col.table_schema and e.oid = c.relnamespace\n "+

2.2 替换原始程序

2.2.1 打包

执行命令

mvn package -DskipTests

在这里插入图片描述

2.2.2 替换

进入安装目录

PDManer-win_v4.7.0\win-ia32-unpacked\resources\app.asar.unpacked\build\jar

在这里插入图片描述

将新编译的jar替换该目录文件

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要查询PG数据库结构,可以使用以下SQL语句: SELECT column_name, data_type, character_maximum_length FROM information_schema.columns WHERE table_name = 'your_table_name'; 这个SQL语句会返回指定的所有列名、数据类型和字符最大长度(如果适用)。你需要将"your_table_name"替换为你要查询的的实际名称。这个语句使用了信息模式中的"columns"来获取结构信息。 另外,你也可以使用PG系统"pg_class"来查询结构信息。通过执行以下SQL语句,你可以获取的列名、数据类型和其他相关信息: SELECT attname AS column_name, format_type(atttypid, atttypmod) AS data_type FROM pg_attribute WHERE attrelid = ( SELECT oid FROM pg_class WHERE relname = 'your_table_name' AND relkind = 'r' ) AND attnum > 0; 同样,你需要将"your_table_name"替换为你要查询的的实际名称。这个语句使用了"pg_attribute"和"pg_class"来获取结构信息。 请注意,以上提供的SQL语句仅适用于PG数据库,对于其他数据库系统可能会有所不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [PostgreSQL中查看结构的方法](https://blog.csdn.net/lukeUnique/article/details/130673634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [postgresql用sql语句查询结构](https://blog.csdn.net/SandayH/article/details/83141738)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值