PG를 처음 사용하고이 간단한 쿼리를 실행하려고하면 Postgres가 손상됩니다. 내가 r1을 계산하려고하면 몇 초 안에 쿼리가 작동하지만 아래의 r1 외에 r6을 통해 r2를 계산하려고하면 "메모리 부족"이라고 표시됩니다. 불충분 한 쿼리 디자인? 다른 계산에서는 계산 된 필드 r1 ... r6을 참조 할 것이므로이 쿼리를 뷰로 만드는 것에 대해 생각하고있었습니다. 필자의 주요 구성 파일 매개 변수는 다음과 같습니다. Windows 10, PG 9.6, 40GB RAM, 64 비트. 무엇에 관한 아이디어가 있습니까? 감사!계산을위한 PostgreSQL 구성 파일 및 쿼리 설계
편집 : 마지막에 LIMIT 500을 추가했는데 작동했지만이 쿼리에서 쿼리를 실행하면 계산 된 r1, r2, r3 ...을 다른 쿼리에서 사용하면 새로운 쿼리가 표시됩니까? 모든 기록은 500 권으로 제한 될 것인가?
SELECT
public.psda.price_y1,
public.psda.price_y2,
public.psda.price_y3,
public.psda.price_y4,
public.psda.price_y5,
public.psda.price_y6,
public.psda.price_y7,
(price_y1 - price_y2)/nullif(price_y2, 0) AS r1,
(price_y2 - price_y3)/nullif(price_y3, 0) AS r2,
(price_y3 - price_y4)/nullif(price_y4, 0) AS r3,
(price_y4 - price_y5)/nullif(price_y5, 0) AS r4,
(price_y5 - price_y6)/nullif(price_y6, 0) AS r5,
(price_y6 - price_y7)/nullif(price_y7, 0) AS r6
FROM
public.psda
내 config 파일 매개 변수 :
max_connections = 50
shared_buffers = 1GB
effective_cache_size = 20GB
work_mem = 400MB
maintenance_work_mem = 1GB
wal_buffers = 16MB
max_wal_size = 2GB
min_wal_size = 1GB
checkpoint_completion_target = 0.7
default_statistics_target = 100
관련이 있습니까? http://stackoverflow.com/questions/26478031/error-out-of-memory-on-machine-with-32gb-ram-and-without-swap-file – kennytm
'public.psda'는 분명히 테이블입니까, 아니면 보기? –
@DavidAldridge 확실히 테이블입니다. 나는 다른 프로젝트로 옮겼지만, 곧이 프로젝트로 돌아갈 것이다. –