我在Ubuntu Linux 11和Postgresql 9.1上。我使用CREATE TABLE。選擇在DBLINK,並與約200萬行的表,我得到Postgresql 9.1在創建表時出現內存不足選擇
ERROR: out of memory
DETAIL: Failed on request of size 432.
所以我裏面取整個表的內容從一個數據庫,並插入(或創建它們)另一個數據庫(在同一臺機器上)。我正在使用Postgresql的默認值,但是我嘗試了使用pgtune的值以及無效。在插入過程中,我看到內存使用量正在增加,但是在達到我的機器限制之前出現錯誤。的ulimit -a說
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 30865
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 30865
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
如果我做創建表作爲...在同一個數據庫中選擇,然後它的工作原理沒有問題。有任何想法嗎?
編輯:我試着調整postgresql.conf中的各種內存設置,並沒有幫助。我錯過了什麼?
您是否啓用了自動提交功能?如果是,請嘗試關閉它。 – 2012-08-09 06:46:10
我試過它沒有工作。我發現這個鏈接http://www.postgresql.org/docs/8.4/static/populate.html與大插入的建議 – user423805 2012-08-09 07:21:53
這給了我一個想法 - 我可能會更好使用pg_dump和工作文件。 – user423805 2012-08-09 07:22:19