Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oqh2d-0005SX-Q1 for psycopg@arkaria.postgresql.org; Thu, 03 Nov 2022 20:42:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oqh2c-00010o-Jj for psycopg@arkaria.postgresql.org; Thu, 03 Nov 2022 20:42:22 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oqh2c-00010f-D1 for psycopg@lists.postgresql.org; Thu, 03 Nov 2022 20:42:22 +0000 Received: from mail-qk1-x736.google.com ([2607:f8b0:4864:20::736]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1oqh2V-00023C-Rk for psycopg@lists.postgresql.org; Thu, 03 Nov 2022 20:42:22 +0000 Received: by mail-qk1-x736.google.com with SMTP id x18so1965881qki.4 for ; Thu, 03 Nov 2022 13:42:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=06rqj4mCDFIFgHY8EwUySgXpNvBfLmonMIKunR55av8=; b=fwEVzrepQGwhobF/Z4qd6Nr1/y3qCaE6pa0MzQDxtFAjF8c1+Mlmnx4vB77UhtFJyF HYE+/3DZP7/1iqyFcDtbtf6EM0iwjPQ2TweTEl9mcfhZivG77F37rs6ndsswerA5gEMz q7m4RBmq17wRgjdqOlLdrnVKsUjEQZOs0u4zj/QIMDGbQCgb+opxb3PmfoB+t/E1/J3l gtP7bPQm2KHJpLi/spfz+2qPIQ5Yp0xVwf5uQtGZH6LOVlKh7dj2ktfHhTkj8gi5i5WC 8f8fde1kIjKmVisqjwYVsouONtQXWRJVQTRI1pFetnOGAWtrlsnnskG8PZ2fJTW55mwg TuWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=06rqj4mCDFIFgHY8EwUySgXpNvBfLmonMIKunR55av8=; b=0BsWJdBj38DNTM2sYPzov+EWy5TjJ/7QwwfEqezexodMfjmyGgC+JvMCrDv01AIvQ/ v90pJUVIiPE/hIL1XFNFsrYnkXOfSBVVgwGyQHZbR7ZnIFdoi+e82K+SURIJbdgkY+1Y l0n1GkBeoO6LVj0Iq1Hc5sm09CUc59AvT7QGQZ3Tw10xsgv2wykrtqb1QApvsoTfiRF4 LG6KuJODkxpqJcYXcGH/QlneIIUMX+0n4S4oMdbfeePHWEvd3NZgmnTYmzzITzQNhWlv Hk/QsAXdS4VesvUl7LDlfxGAtUJ8jpeLFt2mlL+GasbtqCWD2nvqjsEOGzFVfmauJel4 8C4g== X-Gm-Message-State: ACrzQf3X5Fpt5YdkhrFpwodjHawRR691PnIFXRf+8dOkRbIoWj8ydeNU 1s99llHxExbqTaN2KP2en/A0Y0ev5AvGxqSPxI4= X-Google-Smtp-Source: AMsMyM5OTAhdSKb75FaSHLf3iDrM+twXK8lRxreeKgvx0gzWJHv5sw5dnC/LiaNuBdpCoU/jTq8Y/89Btx2j+fl8teI= X-Received: by 2002:a37:4145:0:b0:6fa:14fc:4fd0 with SMTP id o66-20020a374145000000b006fa14fc4fd0mr22325991qka.291.1667508133097; Thu, 03 Nov 2022 13:42:13 -0700 (PDT) MIME-Version: 1.0 References: <6dfed0bf-a52a-66c0-43a9-6258d7b9843b@openvistas.net> In-Reply-To: <6dfed0bf-a52a-66c0-43a9-6258d7b9843b@openvistas.net> From: Daniele Varrazzo Date: Thu, 3 Nov 2022 21:42:01 +0100 Message-ID: Subject: Re: Can psycopg2 copy_expert read from an io.StringIO() buffer? To: Jeff Ross Cc: psycopg@lists.postgresql.org Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hello Jeff, On Thu, 3 Nov 2022 at 21:15, Jeff Ross wrote: > publisher_copy_cursor.copy_expert(copy_query,csv_buf,size) > subscriber_copy_cursor.copy_expert(insert_query,csv_buf) Yes, StringIO works ok with copy_expert(). I think you need a csv_buf.seek(0) between these two statements: after copying data in the file, the file pointer will be at the end. Cheers -- Daniele