@@ -845,7 +845,7 @@ def cleanup(self, max_attempts=3):
845
845
846
846
return self
847
847
848
- def psql (self , dbname , query = None , filename = None , username = None ):
848
+ def psql (self , dbname , query = None , filename = None , username = None , inp = None ):
849
849
"""
850
850
Execute a query using psql.
851
851
@@ -881,14 +881,15 @@ def psql(self, dbname, query=None, filename=None, username=None):
881
881
882
882
# start psql process
883
883
process = subprocess .Popen (psql_params ,
884
+ stdin = subprocess .PIPE ,
884
885
stdout = subprocess .PIPE ,
885
886
stderr = subprocess .PIPE )
886
887
887
888
# wait until it finishes and get stdout and stderr
888
- out , err = process .communicate ()
889
+ out , err = process .communicate (input = inp )
889
890
return process .returncode , out , err
890
891
891
- def safe_psql (self , dbname , query , username = None ):
892
+ def safe_psql (self , dbname , query , username = None , inp = None ):
892
893
"""
893
894
Execute a query using psql.
894
895
@@ -901,7 +902,7 @@ def safe_psql(self, dbname, query, username=None):
901
902
psql's output as str.
902
903
"""
903
904
904
- ret , out , err = self .psql (dbname , query , username = username )
905
+ ret , out , err = self .psql (dbname , query , username = username , inp = inp )
905
906
if ret :
906
907
err = '' if not err else err .decode ('utf-8' )
907
908
raise QueryException (err )
0 commit comments