docs: public synchronized CopyOperation startCopy(String sql, boolean suppressBegin)
        throws SQLException {
      waitOnLock();
      if (!suppressBegin) {
        doSubprotocolBegin();
      }
      byte[] buf = Utils.encodeUTF8(sql);
  
      try {
        LOGGER.log(Level.FINEST, " FE=> Query(CopyStart)");
  
        pgStream.sendChar('Q');
        pgStream.sendInteger4(buf.length + 4 + 1);
        pgStream.send(buf);
        pgStream.sendChar(0);
        pgStream.flush();
  
        return processCopyResults(null, true);
        // expect a CopyInResponse or CopyOutResponse to our query above
      } catch (IOException ioe) {
        throw new PSQLException(GT.tr("Database connection failed when starting copy"),
            PSQLState.CONNECTION_FAILURE, ioe);
      }
    }