«plpgsql» 태그된 질문

PL / pgSQL은 PostgreSQL 데이터베이스 시스템의 기본 절차 언어입니다. PL / pgSQL에 대한 질문은 아마도 "PostgreSQL"로 태그되어야합니다.

1
컨텍스트를 사용하여 예외 생성
PostgreSQL에서 예외가 발생하면 다음과 같은 "CONTEXT"줄이 있습니다. ERROR: INSERT has more target COLUMNS than expressions LINE 3: ... ^ QUERY: INSERT INTO ... CONTEXT: PL/pgSQL FUNCTION "XXXXX" line 4 at SQL statement 그러나 예외를 던질 때이 줄은 없습니다. 그것을 추가하는 방법을 찾지 못했습니다. RAISE EXCEPTION 'blablabla' USING HINT = 'blablablabla'; …

3
두 프로세스가 동시에 머 시리얼 뷰를 새로 고치려고하면 어떻게됩니까?
문서에 따르면 : 구체화 된 뷰에서 동시 선택을 잠그지 않고 구체화 된 뷰를 새로 고칩니다. (...) ... 다른 내용 ... 이 옵션을 사용하더라도 한 번에 하나의 REFRESH 만 하나의 구체화 된보기 에 대해 실행될 수 있습니다 . 나는 했다 구체화 된보기의 마지막 새로 고침 시간을 확인하는 기능을하고 60 초 이상 …

3
PostgreSQL 절차 언어 오버 헤드 (plpython / plsql / pllua…)
실시간 작업을 위해 절차 언어 성능으로 PostgreSQL 사용자 정의 함수에 대한 정보를 찾으려고 합니다. 내장 함수와 어떻게 비교합니까? Postgres가 plpython 대 plpgsql 대 pllua 함수를 호출 / 관리하는 방법 (오버 헤드)에 차이가 있습니까 (VM 자체가 아닌 Postgres 통합 / 컨텍스트 / 데이터 전송 측면에 관심이 있습니까)? 컨텍스트가 큰 오버 헤드입니까? …

2
PL / pgSQL에서 수동으로 발생한 예외에 대한 예외 컨텍스트를 얻는 방법은 무엇입니까?
Postgres에서는 다음 코드를 사용하여 예외의 "스택 추적"을 얻습니다. EXCEPTION WHEN others THEN GET STACKED DIAGNOSTICS v_error_stack = PG_EXCEPTION_CONTEXT; 이것은 "자연스러운"예외에 대해서는 잘 작동하지만 다음을 사용하여 예외를 제기하면 RAISE EXCEPTION 'This is an error!'; ... 스택 추적이 없습니다. 메일 링리스트 entry 에 따르면 , 이것은 내 의도를 알 수는 없지만 의도적 …

1
오류 : set_valued 함수가 컨텍스트에서 호출되어 세트를 승인 할 수 없습니다. 무슨 일이야?
우분투 12.04와 함께 Postgresql 9.1을 사용합니다. 내 질문에 크레이그의 대답에 영감을 SETOF 유형 또는 SETOF 기록의 병합 내가 사용하는 잘 갈 것이라고 생각 return query, setof record그리고이 plpgsql 기능에 일련의 발생기 : create or replace function compute_all_pair_by_craig(id_obj bigint) returns setof record as $$ begin return query select o.id, generate_series(0,o.value) from …

2
PL / pgSQL 함수로 레코드 반환-쿼리 속도 향상
나는이 Perl로 작성 비 분기 게임 데몬 PostgreSQL의 9.3 데이터베이스에 쓰기 플레이어 통계에 쿼리 acync 사용합니다. 그러나 데이터베이스에서 무언가를 읽을 필요가있을 때 (플레이어가 금지되었거나 플레이어가 VIP 상태 인 경우) 동기 쿼리를 사용합니다. 데이터베이스에서 값을 읽을 때까지 게임이 잠시 중단됩니다. 값을 읽기 위해 비동기 쿼리를 사용하기 위해 게임 데몬을 다시 작성할 …

2
측정 단위 변환
물질이 다른 (그러나 호환되는) 단위 부피로 제공되는 물질 목록에 대해 가장 적합한 측정 단위를 계산하려고합니다. 단위 변환 표 단위 변환 표는 다양한 단위와 해당 단위의 관계를 저장합니다. id unit coefficient parent_id 36 "microlitre" 0.0000000010000000000000000 37 37 "millilitre" 0.0000010000000000000000000 5 5 "centilitre" 0.0000100000000000000000000 18 18 "decilitre" 0.0001000000000000000000000 34 34 "litre" 0.0010000000000000000000000 …

3
PLPGSQL을 사용하여 현재 search_path에 테이블이 있는지 어떻게 알 수 있습니까?
다른 응용 프로그램의 애드온 인 응용 프로그램의 설치 스크립트를 작성 중이므로 다른 응용 프로그램의 테이블이 존재하는지 확인하고 싶습니다. 그렇지 않으면 사용자에게 유용한 오류를주고 싶습니다. 그러나 어떤 스키마가 테이블을 보유하는지 알 수 없습니다. DO LANGUAGE plpgsql $$ BEGIN PERFORM 1 FROM pg_catalog.pg_class c JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE …

2
COMMIT가 PostgreSQL 9.5의 익명 plgpsql 함수 내에서 작동합니까?
익명의 plpgsql 코드 블록 내에서 루프를 사용하여 분할 할 여러 테이블로 많은 수의 큰 파일을 가져오고 있습니다 $do$. $do$ BEGIN FOR yyyy in 2012..2016 THEN EXECUTE $$COPY table$$||yyyy||$$ FROM 'E:\data\file$$||yyyy||$$.csv DELIMITER ',' CSV;$$; END LOOP; END; $do$ LANGUAGE plpgsql 이 전체 프로세스는 약 15 시간이 걸리며 가져 오기 오류가 발생하면 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.