이전 MySQL 쿼리를 PostgreSQL로 이식하려고하는데이 쿼리에 문제가 있습니다.
DELETE FROM logtable ORDER BY timestamp LIMIT 10;
PostgreSQL은 삭제 구문에서 순서 나 제한을 허용하지 않으며 테이블에 기본 키가 없으므로 하위 쿼리를 사용할 수 없습니다. 또한 쿼리 가 주어진 숫자 또는 레코드를 정확히 삭제하는 동작을 유지하고 싶습니다. 예를 들어 테이블에 30 개의 행이 포함되어 있지만 모두 동일한 타임 스탬프가있는 경우 중요하지는 않지만 10 개를 삭제하고 싶습니다. 어느 10.
그래서; PostgreSQL에서 정렬을 사용하여 고정 된 수의 행을 삭제하려면 어떻게합니까?
편집 : 기본 키가 없다는 것은 log_id
열이나 이와 유사한 것이 없음을 의미 합니다. 아, 레거시 시스템의 기쁨!
alter table foo add column id serial primary key
.