Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1aOraL-000202-7X for pgsql-sql@arkaria.postgresql.org; Thu, 28 Jan 2016 18:46:25 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84) (envelope-from ) id 1aOraK-0007wz-G8 for pgsql-sql@arkaria.postgresql.org; Thu, 28 Jan 2016 18:46:24 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84) (envelope-from ) id 1aOraK-0007wq-0H for pgsql-sql@postgresql.org; Thu, 28 Jan 2016 18:46:24 +0000 Received: from outbound003.hypermediasystems.com ([66.162.38.157] helo=outbound003.inf) by magus.postgresql.org with esmtp (Exim 4.84) (envelope-from ) id 1aOraG-000606-9t for pgsql-sql@postgresql.org; Thu, 28 Jan 2016 18:46:23 +0000 Received: from mail021.dti ([10.5.4.195]) by outbound003.inf with ESMTP; 28 Jan 2016 18:46:18 +0000 Received: from mail021.dti (mail021.dti [10.5.4.195]) by mail021.dti (Postfix) with ESMTP id C56F115410518; Thu, 28 Jan 2016 10:46:16 -0800 (PST) Date: Thu, 28 Jan 2016 10:46:16 -0800 (PST) From: Arthur Lewis To: Adrian Klaver Cc: pgsql-sql@postgresql.org Message-ID: <877971630.7184594.1454006776740.JavaMail.root@hypermediasystems.com> In-Reply-To: <56AA5BFB.30808@aklaver.com> Subject: Re: insert a text file into a variable in order to insert into a bytea column MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.40.10.119] X-Mailer: Zimbra 7.2.2_GA_2852 (ZimbraWebClient - FF3.0 (Linux)/7.2.2_GA_2852) X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-sql Precedence: bulk Sender: pgsql-sql-owner@postgresql.org Hi, In my shell I did the following $ cat file > file.temp $ ls -l file file.temp -rw-rw-r-- 1 alewis alewis 53604 Jan 27 08:30 file -rw-rw-r-- 1 alewis alewis 53604 Jan 28 10:28 file.temp $ diff file file.temp $ So at least in the shell the cat command isn't losing a byte at the end of the file like in psql \set x `cat file`. Arthur Lewis ----- Original Message ----- From: "Adrian Klaver" To: "Arthur Lewis" , pgsql-sql@postgresql.org Sent: Thursday, January 28, 2016 10:20:43 AM Subject: Re: [SQL] insert a text file into a variable in order to insert into a bytea column On 01/28/2016 10:10 AM, Arthur Lewis wrote: > Hello, > I have a file called file.txt that is 53604 bytes. When I do the following > > \set stext `cat file.txt` > > select length(:'stext'); length > -------- > 53603 > > it seems that one byte (the last newline character) is chomped off. How can I import a text file into a variable and insert it into a bytea column without losing the last newline byte. Are sure it is not cat that is chomping the byte?: aklaver@killi:~> cat test.txt Test second line aklaver@killi:~> cat -A test.txt Test$ second line$ > > What I want to do is something like this: > > \set stext `cat file.txt` > insert into stored_files (file_name,file_text) values ('file',:'stext'); > > without losing a character within the variable stext. > > In table stored_files, file_name is text and file_text is bytea. > > I'm using psql 9.3.10 on Ubuntu 14 Linux (32 bit.) > I cannot use pg_read_file because that is for the server side, and I'm on the client side. > > There should be an easy way to get a text file into a database column. > > Thank you, > Arthur Lewis > > -- Adrian Klaver adrian.klaver@aklaver.com -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql