@@ -115,10 +115,12 @@ def __init__(self, name=None, port=None, base_dir=None):
115115# private
116116self ._pg_version = PgVer (get_pg_version ())
117117self ._should_free_port = port is None
118- self ._base_dir = base_dir
119118self ._logger = None
120119self ._master = None
121120
121+ self ._custom_base_dir = base_dir
122+ self ._base_dir = base_dir
123+
122124# basic
123125self .host = '127.0.0.1'
124126self .name = name or generate_app_name ()
@@ -796,11 +798,13 @@ def cleanup(self, max_attempts=3):
796798
797799self ._try_shutdown (max_attempts )
798800
799- # choose directory to be removed
800- if testgres_config .node_cleanup_full :
801- rm_dir = self .base_dir # everything
802- else :
803- rm_dir = self .data_dir # just data, save logs
801+ # only remove if base directory was temporary
802+ if not self ._custom_base_dir :
803+ # choose directory to be removed
804+ if testgres_config .node_cleanup_full :
805+ rm_dir = self .base_dir # everything
806+ else :
807+ rm_dir = self .data_dir # just data, save logs
804808
805809rmtree (rm_dir ,ignore_errors = True )
806810