at the given <parameter>offset</>, returning at most <parameter>length</>
bytes (less if the end of file is reached first). If <parameter>offset</>
is negative, it is relative to the end of the file.
- When <parameter>offset</> and <parameter>length</> parameters are omitted,
- it returns the whole of the file.
- The part of a file must be a valid text in the server encoding.
+ If <parameter>offset</> and <parameter>length</> are omitted, the entire
+ file is returned. The bytes read from the file are interpreted as a string
+ in the server encoding; an error is thrown if they are not valid in that
+ encoding.
</para>
<indexterm>
<primary>pg_read_binary_file</primary>
</indexterm>
<para>
- <function>pg_read_binary_file</> returns part of a file as like as
- <function>pg_read_file</>, but the result is a bytea value.
- One of the usages is to read a file in the specified encoding combined with
- <function>convert_from</> function:
+ <function>pg_read_binary_file</> is similar to
+ <function>pg_read_file</>, except that the result is a bytea value;
+ accordingly, no encoding checks are performed.
+ In combination with the <function>convert_from</> function, this function
+ can be used to read a file in a specified encoding:
<programlisting>
SELECT convert_from(pg_read_binary_file('file_in_utf8.txt'), 'UTF8');
</programlisting>
}
/*
- * In addition to read_binary_file, verify whether the contents are encoded
+ * Similar to read_binary_file, but we verify that the contents are valid
* in the database encoding.
*/
static text *
/* Make sure the input is valid */
pg_verifymbstr(VARDATA(buf), VARSIZE(buf) - VARHDRSZ, false);
- /* OK, we can cast it as text safely */
+ /* OK, we can cast it to text safely */
return (text *) buf;
}