我有64GB RAM机器,20个CPU,这是在80M行的表上创建主键的命令:
ALTER TABLE ONLY wikipedia_article ADD CONSTRAINT pagelinks_pkey PRIMARY KEY (language, title);
我遇到的问题是:
这是表结构:
Table "public.wikipedia_article"
Column | Type | Modifiers | Storage | Stats target | Description
--------------+------------------+-----------+----------+--------------+-------------
language | text | not null | extended | |
title | text | not null | extended | |
langcount | integer | | plain | |
othercount | integer | | plain | |
totalcount | integer | | plain | |
lat | double precision | | plain | |
lon | double precision | | plain | |
importance | double precision | | plain | |
osm_type | character(1) | | extended | |
osm_id | bigint | | plain | |
infobox_type | text | | extended | |
population | bigint | | plain | |
website | text | | extended | |
Has OIDs: no
导入通过pg_restore自动发生,这是源
http://www.nominatim.org/data/wikipedia_article.sql.bin
关于我可以尝试使事情变得更快的任何想法?我改变了conf varible" maintenance_work_mem"的值。到RAM大小的一半。我也尝试改变一些内核设置,没有任何乐趣:
sysctl -w kernel.shmmax=17179869184
sysctl -w kernel.shmall=1048576
sysctl vm.overcommit_memory=1
sysctl vm.swappiness=10
操作系统在虚拟机上运行,在数字海洋中,在SSD驱动器上运行,我原本期望这对于这样的虚拟机配置可以更快地运行。
服务器信息:x86_64-unknown-linux-gnu上的PostgreSQL 9.3.13,由gcc编译(Ubuntu 4.8.4-2ubuntu1~14.04.1)4.8.4,64位
非常感谢,VG
答案 0 :(得分:0)
PostgreSQL使用一个语句一个CPU - 因此预计CPU利用率为100%。您可以尝试将maintenance_work_mem
设置为更高的值。默认值太低 - 例如,您可以尝试'2GB'。