远程数据库上的PostgreSQL:没有可用的缓冲区空间(达到最大连接数)?

时间:2014-02-18 07:17:15

标签: postgresql ubuntu

我正在尝试将大量数据放入PostgreSQL(PostGIS的详细信息) 大约100个场景,每个场景包含12个光栅图像带。每张图片约为100MB
我做了什么:

For each scene in scenes (  
    for each band in scene (  
        Open connection to postGIS db  
        Add band  
    )  
    SET PGPASSWORD=password
    psql -h 192.168.2.1 -p 5432 -U user -d spatial_db -f combine_bands.sql
)

直到#46场景一直运行良好。它会导致错误没有可用的缓冲区空间(达到最大连接数)
我在Windows 7上运行脚本,我的远程服务器在Ubuntu 12.04 LTS上运行。

更新:连接到远程服务器并运行sql文件。

1 个答案:

答案 0 :(得分:0)

此消息:

  

没有可用的缓冲区空间(达到最大连接数?)

来自Java异常,而不是PostgreSQL服务器。获取某些上下文时,Java堆栈跟踪可能很有用。

如果连接被PostgreSQL拒绝,则消息为:

FATAL: connection limit exceeded for non-superusers

通过不关闭与PostgreSQL的连接,程序可能会超过其最大打开套接字数。您的脚本应在完成后立即关闭每个数据库连接,或者只打开一个连接并在整个过程中重复使用它。

只有在并行发出查询时才需要同一程序的同时连接,这似乎不是这种情况。