agora inbox for pgsql-sql@postgresql.org  
help / color / mirror / Atom feed
From: Arthur Lewis <arthur.lewis@hypermediasystems.com>
To: Adrian Klaver <adrian.klaver@aklaver.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: insert a text file into a variable in order to insert into a bytea column
Date: Thu, 28 Jan 2016 10:46:16 -0800 (PST)
Message-ID: <877971630.7184594.1454006776740.JavaMail.root@hypermediasystems.com> (raw)
In-Reply-To: <56AA5BFB.30808@aklaver.com>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-sql>

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" <adrian.klaver@aklaver.com>
To: "Arthur Lewis" <arthur.lewis@hypermediasystems.com>, 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



view thread (8+ messages)  latest in thread

Message-ID: <877971630.7184594.1454006776740.JavaMail.root@hypermediasystems.com>
Permalink:  ../877971630.7184594.1454006776740.JavaMail.root@hypermediasystems.com/
Also on:    postgresql.org/message-id/877971630.7184594.1454006776740.JavaMail.root@hypermediasystems.com

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: arthur.lewis@hypermediasystems.com, adrian.klaver@aklaver.com
  Subject: Re: insert a text file into a variable in order to insert into a bytea column
  In-Reply-To: <877971630.7184594.1454006776740.JavaMail.root@hypermediasystems.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox