insert a text file into a variable in order to insert into a bytea column

From: Arthur Lewis <arthur(dot)lewis(at)hypermediasystems(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: insert a text file into a variable in order to insert into a bytea column
Date: 2016-01-28 18:10:53
Message-ID: 1668948418.7183478.1454004653187.JavaMail.root@hypermediasystems.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

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.

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

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Adrian Klaver 2016-01-28 18:20:43 Re: insert a text file into a variable in order to insert into a bytea column
Previous Message Venkatesan, Sekhar 2016-01-28 16:53:47 Re: PostgreSQL: Autocommit through windows odbc driver doesnt work!!!