我正在尝试将大量数据放入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文件。
答案 0 :(得分:0)
此消息:
没有可用的缓冲区空间(达到最大连接数?)
来自Java异常,而不是PostgreSQL服务器。获取某些上下文时,Java堆栈跟踪可能很有用。
如果连接被PostgreSQL拒绝,则消息为:
FATAL: connection limit exceeded for non-superusers
通过不关闭与PostgreSQL的连接,程序可能会超过其最大打开套接字数。您的脚本应在完成后立即关闭每个数据库连接,或者只打开一个连接并在整个过程中重复使用它。
只有在并行发出查询时才需要同一程序的同时连接,这似乎不是这种情况。