|From:||wetter wetterana <wetterana(at)gmail(dot)com>|
|Subject:||Re: Error: "Out of memory while reading tuples." in pushing table from SAS to PostgreSQL on Mac|
|Views:||Raw Message | Whole Thread | Download mbox|
I am using SAS, a statistical package/database management system. SAS has
the feature of connecting to a PostgreSQL server. It does so by assigning
what is called a libname (a 'library' connection telling SAS that a
particular folder is a data storage). In this assignment, you specify the
server address, databasename, password. I.e. SAS connects to the server
and allows you to push data to/read data/manipulate data in the PSQL
Here is the code in SAS:
# connect to the server and assign it the name 'psqlibrary'
libname psqlibrary postgres server='xxx.xx.xxx.x' port=5432
user=username password='xxxxxxx' database=dbname;
# then append data to the table 'table' in the psql database
proc append base = psqlibrary.table
data = datatoappend;
SAS reports back error messages from the server if it receives such
errors. In my case, I repeatedly get the error described above. This
error is also reported in my terminal app if I log into the database at the
same time to monitor things there. I.e. as far as I can tell, the error "Out
of memory while reading tuples.; No query has been executed with that
handle" stems from PSQL itself. SAS prefixes the error with some specific
indicators such as "GLOBAL SYSDBMSG POSTGRES" or "ERROR: CLI describe
Adrian, you are right, PSQL does receive the data. Also not sure what you
mean by cursor, I really new to PSQL... sorry!
Help much appreciated!
2014-12-14 10:51 GMT-05:00 Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>:
> On 12/14/2014 07:44 AM, Andy Colson wrote:
>> On 12/13/2014 10:03 PM, wetter wetterana wrote:
>>> I'm passing rows from SAS to PostgreSQL (I assign a libname and use a
>>> PROC APPEND). This works fine with smaller tables (~below 1 million
>>> rows). However, as tables get larger I receive the following error
>>> "ERROR: CLI describe error: Out of memory while reading tuples.; No
>>> query has been executed with that handle"
>>> "GLOBAL SYSDBMSG POSTGRES: Out of memory while reading tuples.; No
>>> query has been executed with that handle
>>> GLOBAL SYSDBRC HY000"
>>> I've tried to change memory settings on the PostgreSQL server, but
>>> can't solve the problem. As far as I could understand—I'm new to
>>> PostgreSQL ;)—it seems that PostgreSQL want to somehow read
>>> information on the whole table before processing it and this behavior
>>> could eventually be switched off, but I might be wrong here.
>>> - I run SAS 9.4 on a windows machine.
>>> - I run PostgreSQL server on a MAC: PostgreSQL 9.3.5 on
>>> x86_64-apple-darwin12.5.0, compiled by Apple LLVM version 5.1, 64-bit
>>> I've Pgadmin 1.18.1 installed.
>>> Any help would be much appreciated!!
>>> PS: For several reasons, I cannot use the bulkload feature in SAS for
>>> this job.
>> That error is coming from SAS, not PG. SAS must have pretty bad
>> documentation because when I google "GLOBAL SYSDBRC HY000" there is
>> pretty much nothing. (Also, I've never used, or even heard of SAS. At
>> first I thought you meant serial attached scsi)
> SAS is statistical software:
> Last time I used it mainframes roamed the Earth:)
>> Does SAS support a cursor of some kind?
> Adrian Klaver
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
|Next Message||Vick Khera||2014-12-14 16:22:04||Re: Database and OS monitoring|
|Previous Message||Andy Colson||2014-12-14 16:08:37||Re: Error: "Out of memory while reading tuples." in pushing table from SAS to PostgreSQL on Mac|