
# 手动调度
以下为手动创建和压缩透明压缩表的测试步骤，过程中的表可替换为自己的表数据进行测试，注意提前做好备份。
1. 设置必要的实例级ILM开关和透明压缩特性的开关。 
   ```
   [@gshost116 ~]$ gs_guc reload -Z datanode -I all -N all -Z coordinator -c "enable_ilm=on"
   [@gshost116 ~]$ gs_guc reload -Z datanode -I all -N all -Z coordinator  -c "turbo_compress_shared_buffers=1GB"
   ```
   
   
2. 打开数据库级别的开关。 
   ```
   gaussdb=# ALTER DATABASE set  ilm =on;
   ALTER DATABASE
   ```
   
   
3. 创建压缩表，这里需要使用透明压缩的语法创建压缩表，插入数据，查看大小。 
   ```
   gaussdb=# DROP TABLE if exists test;
   NOTICE:  table "test" does not exist, skipping
   DROP TABLE
   gaussdb=# CREATE TABLE test(a int, b int) with (storage_type=astore) ILM ADD POLICY ROW STORE COMPRESS TURBO high UNIT AFTER 3 HOUR OF NO MODIFICATION;
   CREATE TABLE
   gaussdb=# INSERT INTO test values(generate_series(1,200000), generate_series(1,200000));
   INSERT 0 200000
   gaussdb=# checkpoint;
   CHECKPOINT
   gaussdb=# SELECT pg_relation_size('test') as size;
     size
   ---------
    7340032
   (1 row)
   ```
   
   
4. 在合适的时机执行异步压缩动作，查看大小和压缩率。 
   ```
   gaussdb=# CALL dbe_ilm.execute_ilm('public','test','v_taskid',NULL,'ALL POLICIES',2, true);
    task_id
   ---------
          2
   (1 row)
   gaussdb=# SELECT pg_relation_size('test') as size;
     size
   --------
    815104
   (1 row)
   gaussdb=# CALL dbe_compression.get_actual_compression_ratio('public', 'test', a,b,c,d,e,f);
        filepath     | is_compress | file_count | logic_size | physic_size | compress_ratio
   ------------------+-------------+------------+------------+-------------+----------------
    base/13160/32768 | t           |          2 |    7380992 |      937984 | 7.8690
   (1 row)
   ```
   如上所示压缩率是7.8，明显会降低存储空间。
   
   
 
