def METHOD_NAME(
    self,
    storageclass_factory,
    pgsql_factory_fixture,
    multi_snapshot_factory,
    multi_snapshot_restore_factory,
    multi_pvc_clone_factory,
    pgsql_teardown,
    replica,
    compression,
):
    """
    1. Create new sc with compression
    2. Deploy PGSQL workload using those new sc created
    3. Take a snapshot of the pgsql PVC.
    4. Create a new PVC out of that snapshot or restore snapshot
    5. Attach a new pgsql pod to it.
    6. Resize the new PVC
    7. Clone pgsql PVC and attach a new pgsql pod to it
    8. Resize cloned PVC
    """
    pgsql_teardown
    interface_type = CEPHBLOCKPOOL
    sc_obj = storageclass_factory(
        interface=interface_type,
        new_rbd_pool=True,
        replica=replica,
        compression=compression,
    )
    # Deploy PGSQL workload
    log.info("Deploying pgsql workloads")
    pgsql = pgsql_factory_fixture(replicas=1, sc_name=sc_obj.name)
    # Get postgres pvc list obj
    postgres_pvcs_obj = pgsql.get_postgres_pvc()
    # Create snapshot and clone
    self.create_snapshot_and_clone(
        pgsql,
        postgres_pvcs_obj,
        sc_obj.name,
        multi_snapshot_factory,
        multi_snapshot_restore_factory,
        multi_pvc_clone_factory,
    )