前言
最近适配了一些国产数据库,需要不停的创库删库,然而在使用highgo数据时,发现自带的数据管理管理软件并不能进行删除数据库,这对于一个选择恐惧症患者可以说是非常难受,名字太难起了.后来发现使用cmd进入到数据库安装目录的bin下,可以使用命令行删除数据库,狂喜…
命令
首先在bin目录下执行psql -U highgo
highgo为默认的管理员账户,输入密码
- \c databaseName
切换到databaseName数据库下 - \l 查看所有数据库
- \dt 查看数据库的所有表
- create database dbname; #创建数据库
- drop database dbname; #删除数据库
适配国产数据库遇到的问题(highgo,KingBase(金仓)都有模式问题)
使用jdbc连接数据库然后使用sql脚本初始化数据库时,在highgo和kingBase(金仓)数据库中出现找不到匹配的模式(no schema select)类似的报错,然后sql在数据库管理工具里运行还不存在错误.
原因:
国产数据库在数据库下面还有一个模式选项, 因为在连接数据库后,默认是默认模式下的(highgo默认模式为public),所有的SQL语句都是在这个模式下的,所以创建的数据库也在这个模式下,不同模式之间的数据库不可以互相访问,我猜测jdbc执行sql时并不会指定在默认模式下,而是在数据库同名模式下,即jdbc会默认寻找与数据库名相同的模式去执行sql.
解决方案
在使用Java代码创建数据库后,使用CREATE SCHEMA dataBaseName
命令创建同名模式,SQL时会自动在该模式下执行.
每个人都会有一段异常艰难的时光 。 生活的压力 , 工作的失意 , 学业的压力。 爱的惶惶不可终日。 挺过来的 ,人生就会豁然开朗。 挺不过来的 ,时间也会教你 ,怎么与它们握手言和 ,所以不必害怕的。 ——杨绛