diff --git a/linux/EDB(postgresql 商业版)分区表.md b/linux/EDB(postgresql 商业版)分区表.md new file mode 100644 index 0000000..dd4a67b --- /dev/null +++ b/linux/EDB(postgresql 商业版)分区表.md @@ -0,0 +1,99 @@ +# edb 12 创建分区表 + +edb12 兼容oracle 11g + +可以使用Oracle 的自动分区。 + +```sql +CREATE TABLE ckw_test ( + id bigserial NOT NULL, + "name" varchar(255) NULL, + afferent_date timestamp NOT null +)PARTITION BY RANGE (afferent_date) +INTERVAL (NUMTOYMINTERVAL(1,'MONTH')) +( + partition part_202209 values less than('20221001') +) ; +``` + + + +普通分区转自动分区 + +```sql +ALTER TABLE SET INTERVAL ( | ); + +ALTER TABLE ckw_test SET INTERVAL (NUMTOYMINTERVAL(1,'MONTH')) + +``` + +自动分区单位 + +```sql +--年-月 +NUMTOYMINTERVAL(1,'year') +NUMTOYMINTERVAL(1,'month') + + +--日-时-分-秒 +numtodsinterval(1,'day') + +``` + + + + + +查询分区表信息 + +```sql +select * from dba_tab_partitions where table_name='TCN_STAT'; +SELECT * FROM ALL_TAB_PARTITIONS; +``` + + + +分区表操作 + +```sql +-- 分离分区表 +ALTER TABLE tcn_stat DETACH PARTITION tcn_stat_part_default; + +-- 附加分区表(数据不能与分区规则冲突) +-- 默认分区 +ALTER TABLE ckw_test ATTACH PARTITION ckw_test_part_default DEFAULT; +-- 小于2022-10-01 的数据 +ALTER TABLE ckw_test ATTACH PARTITION ckw_test_part_default values less than('20221001') +-- 区间数据 +ALTER TABLE ckw_test ATTACH PARTITION ckw_test_part_default VALUES from ('20190101') TO ('20190201'); + + + +-- 合并操作 +select table_name,high_value,partition_name from dba_tab_partitions where table_name='t1'; + +alter table t1 merge partitions p2,p1 into partition p1_2; + + + +-- 拆分分区 +-- at() 括号里为分割条件 如 '20190101' +alter table t1 split partition p1_2 at(100) into (partition p1,partition p2); + + + +-- 删除分区 +alter table t1 drop partition p3; + + + + +-- 交换分区 +-- 用表test_t1 替换 t1的分区p2 +create table test_t1 (id int,name varchar2(20)); +alter table t1 exchange partition p2 with table test_t1; + + + +``` + diff --git a/linux/linux 查看日志.md b/linux/linux 查看日志.md index 48e269f..abb2977 100644 --- a/linux/linux 查看日志.md +++ b/linux/linux 查看日志.md @@ -136,6 +136,13 @@ journalctl -r -u service_name journalctl -k ``` + +默认情况下 systemd-journald 服务只保存本次启动后的日志(重新启动后丢掉以前的日志)。此时 -b 选项是没啥用的。当我们把 systemd-journald 服务收集到的日志保存到文件中之后,就可以通过下面的命令查看系统的重启记录: + +**查看系统启动列表** +```sh +journalctl --list-boots +``` **.查看系统本次启动的日志** ```sh