v8r6 数据库参数配置

2.1.数据库配置文件与参数
select NAME,SETTING,CATEGORY from sys_settings where setting like '%conf%';
全局配置文件:参数配置会影响整个实例
非全局配置文件:参数配置文件只会影响单个实例,单个会话,单个用户
kingbase.conf:负责配置文件位置,资料限制,集群复制等
sys_hba.conf:负责客户端的连接和认证

sys_hba.conf, 配置访问主机,连接方式,认证方式
理解:
允许ADDRESS主机通过TYPE方式以METHOD认证通过USER用户连接DATABASE数据库

全局参数修改
1.直接vi或编辑器编辑kingbase.conf
2.使用alter system 命令

重置数据库级别的参数
show search_path;
alter database TEST reset search_path;
重置会话级别参数
set search_path to defualt;

查看数据库已应用的参数配置:
select sourcefile,name,setting,applied from sys_file_settings;

select distinct context from sys_settings;
参数的生效方式:
internal:只能通过编译是设置,创建完成后不能修改
kingbase 通过vi修改kingbase.conf,服务重启生效
sighup 允许修改配置文件,向进程发信号更新,如reload
superuser 超级用户在线修改,只会影响超级用户
user 普通用户在线修改 通过Set命令修改,影响自身会话
superuser-backend 管理员在kingbase.conf更改,不需要重启服务,影响之后的连接。
backend 普通用户在kingbase.conf更改,影响之后的连接

2.2 数据连接参数
select NAME,CONTEXT,UNIT,SETTING,BOOT_VAL,RESET_VAL from sys_settings
where name = 'listen_addresses';
setting默认*号,如设置localhost只允许本地连接

port参数
端口默认是54321
select NAME,UNIT,SETTING,BOOT_VAL,RESET_VAL from sys_settings
where name = 'port';

max_connections参数 默认最大连接数100

superuser_reserved_connections参数 超级用户连接数 默认10

tcp_keepalives_count参数 发送TCP心跳信息的次数,超过值就断开,
默认0,表示使用操作系统参数进行设定


2.3 日志文件及参数
配置文件kingbase.conf
1.开启日志收集功能
cat kingbase.conf |grep -i logging_collect
基本日志参数
cat kingbase.conf |grep -i log_destination
cat kingbase.conf |grep -i log_directory
cat kingbase.conf |grep -i log_filename
cat kingbase.conf |grep -i log_rotation_size
cat kingbase.conf |grep -i log_rotation_age
cat kingbase.conf |grep -i log_min_messages
记录慢SQL
cat kingbase.conf |grep -i log_min_duration_statement
cat kingbase.conf |grep -i log_checkpoints
cat kingbase.conf |grep -i log_connections
cat kingbase.conf |grep -i log_disconnections
cat kingbase.conf |grep -i log_duration
cat kingbase.conf |grep -i log_line_prefix
监控数据库中长时间的锁
cat kingbase.conf |grep -i log_lock_waits
记录DDL操作
cat kingbase.conf |grep -i log_statement

重启生效
查看生效状态
show xxx参数名

2.4 计划任务
保留24小时日志,每小时一个日志文件,日志文件超过1G也进行轮转
show log_filename
show log_truncate_on_rotation
show log_rotation_age
show log_rotation_size;
控制日志文件保留时间是通过参数log_filename

2.5 csv文件格式化
2.6 创建数据库日志表
create table v8_log(
log_time timestamp(3) with time zone,
user_name text,
database_name text,
process_id integer, 
connection_from text,
session_id text,
session_line_num bigint,
command_tag text,
session_start_time timestamp with time zone,
virtual_transaction_id text,
transaction_id bigint,
error_severity text,
sql_state_code text,
message text,
detail text,
hint text,
internal_query_pos integer,
context text,
query text,
query_pos integer,
location text,
application_name text,
primary key (session_id,session_line_num));

查看 \d+ v8_log
将日志信息导入表中 xx.csv文件格式化
上面表是针对周的导出csv数据  

<think>嗯,用户的问题是关于人大金仓数据库V8R6版本中查询所有表名的方法。根据提供的引用信息,虽然没有直接提到查询表名的具体命令,但可以结合标准SQLKingbaseES的特性来推导解决方案。 用户可能正在开发或维护适配人大金仓的系统(比如xxl-job),遇到了表结构相关的需求。引用[1]提到过账号和表名的关联,引用[2]中出现了模式的概念——这说明用户需要关注查询范围(比如特定模式下的表)。 考虑两个层面:首先是标准SQL方式。Kingbase作为PostgreSQL衍生品,应支持`information_schema.tables`视图。给出基础查询语句时需强调`table_schema`的条件筛选,因为业务场景中用户往往不需要系统表。其次是兼容性方案,类似PostgreSQL的`pg_tables`,这对习惯PG生态的用户更友好。 注意到引用[3]提到大小写敏感问题:Kingbase默认大小写不敏感但存储时可能保留大小写。这点必须提醒,否则用户可能疑惑为什么查询结果和预期不一致。比如创建了"MyTable"的用户用小写查询会失败,需要加双引号——这和引用[3]的初始化参数直接相关。 用户没有指定当前连接账号的权限级别,但引用[1][2]都涉及SYSTEM账号操作。安全起见,在注意事项里补充权限说明(引用[4]的安全策略修改也暗示权限控制的重要性),避免用户用普通账号查询时遗漏数据。 最后生成的问题拓展方向:既然用户查表名,后续可能会关注表结构详情(字段/索引),或是导入导出操作(呼应引用[2]的备份命令),这些都应该作为关联问题预判。 </think>在人大金仓数据库 KingbaseES V8R6 中查询所有表名,主要通过系统目录视图实现。以下是两种常用方法: ### 方法 1:使用 `information_schema.tables`(标准 SQL 推荐) ```sql SELECT table_schema AS "模式名", table_name AS "表名" FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_catalog = '当前数据库名' -- 替换为实际数据库名 AND table_schema NOT IN ('sys_catalog', 'information_schema', 'pg_catalog'); ``` * **要点说明** 1. `table_type='BASE TABLE'` 过滤掉视图等对象 2. `table_schema` 排除系统模式(根据实际需要调整排除项) 3. 替换 `table_catalog` 值为**实际数据库名** ### 方法 2:使用 `sys_class`(兼容 PostgreSQL 语法) ```sql SELECT n.nspname AS "模式名", c.relname AS "表名" FROM sys_class c JOIN sys_namespace n ON c.relnamespace = n.oid WHERE c.relkind = 'r' AND n.nspname NOT LIKE 'pg_%' AND n.nspname <> 'information_schema'; ``` * **要点说明** 1. `relkind='r'` 表示普通表 (`r=ordinary table`) 2. 通过 `sys_namespace` 关联获取模式名 3. 排除以 `pg_` 开头的系统模式 ### 注意事项 1. **大小写敏感** 若建表时使用了双引号(如 `CREATE TABLE "MyTable"`),查询时需用双引号包裹表名。可通过引用[3]的 `initdb --enable_ci` 参数初始化**大小写不敏感**的数据库[^3]。 2. **权限限制** 需确保当前账号有 `SELECT` 权限,建议使用引用[1]中类似 `xxl_job` 的专用账号[^1],避免系统账号操作风险。 3. **范围限定** 添加 `AND table_schema = '指定模式'` 或 `AND n.nspname = '指定模式'` 可限定特定模式下的表。 --- ### 相关拓展问题 1. 如何查询金仓数据库 V8R6 中某个表的字段结构? 2. 在金仓 V8R6 中如何备份特定模式下的所有表(参考引用[2]的 `sys_dump` 命令)[^2]? 3. 金仓数据库大小写敏感配置对数据迁移有什么影响? 4. 如何批量生成金仓数据库中所有表的统计信息? [^1]: 新建专用账号可避免权限问题,确保元数据查询的稳定性 [^2]: `sys_dump` 的 `-n` 参数可指定备份的模式范围 [^3]: 大小写敏感配置需在初始化时确定,修改需重新建库
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值