gaussdb命令行连接
1.1 ssh连接主机,ip:192.168.28.178,用户名:root,密码:huawei @123
1.2 切换至bin目录,cd /home/gaussdba/app/bin/
1.3 切换用户为gaussdba,su gaussdba
1.4 连接gaussdb,gsql -d postgres -p 5432
基本操作命令
\l 列出所有数据库
\c database_name 切换数据库
\d 列出当前数据库下的表
\d tablename 列出指定表的所有字段
\d+ tablename 查看指定表的基本情况
\dn 展示当前数据库下所有schema信息
show search_path; 显示当前使用的schema
set search_path to myschema; 切换当前schema
\q 退出登录
mysql数据迁移至gaussdb
1. 导出mysql数据
show variables like '%secure%' 查询出secure_file_priv地址;
在secure_file_priv地址下mkdir aaa;
修改文件权限chmod -r 777 aaa;
select * from i18n_message into outfile '/tmp/etl/temp.dat' fields terminated by ''';
2. 下载数据并上传至gaussdb服务器
3. 导入gaussdb
copy i18n_message from '/home/gaussdba/app/bin/temp.dat' with delimiter '''';
切换gaussdb中遇到的问题
1. 执行出现如下错误:column “task.task_id” must appear in the group by clause or be used in an aggregate function ,原因
是:select的字段与group by中的字段要一致或不一致的字段必须使用聚合函数;
2. mysql中的ifnull函数用nvl函数替换;
3. limit 0,10 ———->limit 10 offset 0;
4. find_in_set(operator, ‘1096,789’) ———->operator ~ concat(‘(‘, replace(‘1096,789’, ‘,’, ‘|’), ‘)’);
5. 不支持uuid(),可以自定义uuid函数,
create or replace function uuid() returns text as $$ begin return to_number(now()::text,'99999999999999999999999999999999999999999999999'); end; $$ language plpgsql; alter function uuid() owner to gaussdba;
6. 字符串不能用双引号””括起来,只能用单引号”,例如:select “” as local_path ———–>select ” as local_path
7. insert into on duplicate key ————>replace into
8. 模糊查询,like:区分大小写,ilike:不区分大小写,mysql中查询默认不区分大小写,所以可以用ilike替换
9. gaussdb中认为null和空字符”是一样的,不支持a=”这种空字符判断,必须写成a is null
10. gaussdb中字符串比较时,注意字段类型要一致,例如char是定长的,不足的补空格,和varchar类型比较时就会有问题
11. 单引号’转义,用一个单引号转义另一个”,例如xi”an
到此这篇关于gaussdb数据库常用操作命令的文章就介绍到这了,更多相关gaussdb数据库命令内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!