«plpgsql» 태그된 질문

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

2
존재하지 않는 인덱스 생성
색인이 존재하지 않으면 색인을 추가 할 수있는 기능을 개발 중입니다. 비교할 인덱스 목록을 얻을 수없는 문제가 발생했습니다. 이견있는 사람? 이것은이 코드로 해결 된 열 생성 문제와 비슷한 문제입니다. https://stackoverflow.com/a/12603892/368511

4
기능 성능
저장 프로 시저 성능 (이전 기사) 과 유용성 이 의심스러운 MySQL 배경에서 회사의 새 제품에 대한 PostgreSQL을 평가하고 있습니다. 내가하고 싶은 일 중 하나는 일부 응용 프로그램 논리 를 저장 프로 시저로 옮기는 것이므로 PostgreSQL (9.0)의 함수 사용에 대한 DO 및 DO N'T (모범 사례), 특히 성능 함정과 관련하여 요청합니다.

3
PostgreSQL에서 UPSERT를 구현하는 관용적 방법
UPSERTPostgreSQL의 다양한 구현에 대해 읽었 지만이 모든 솔루션은 비교적 오래되었거나 비교적 이국적입니다 ( 예 : 쓰기 가능한 CTE 사용 ). 그리고 나는이 솔루션이 오래되어 잘 권장되는지 또는 거의 모든 제품이 생산 용도에 적합하지 않은 장난감 예제인지 여부를 즉시 알아내는 psql 전문가는 아닙니다. PostgreSQL에서 UPSERT를 구현하는 가장 안전한 스레드 안전 방법은 …

5
PostgreSQL bytea 열에 데이터를 삽입하는 방법은 무엇입니까?
이 질문은 bytea v. oid v. blobs v. large objects 등에 관한 것이 아닙니다. 기본 키 integer필드와 필드가 포함 된 테이블 이 bytea있습니다. bytea필드에 데이터를 입력하고 싶습니다 . 아마도 이것은 PL/언어 중 하나에 의해 수행 될 수 있으며, 앞으로이 작업을 수행 할 수 PL/Python있습니다. 여전히 테스트하고 실험하면서 "표준"SQL 문을 사용하여 …

6
"저장 프로 시저"와 "저장 함수"의 차이점은 무엇입니까?
따라서이 질문에 대한 의견은 PostgreSQL의 "Stored Procedrues"와 "Stored Funtions"에 약간의 차이가 있다고 언급합니다. 주석은 위키피디아 기사로 연결 되지만이 중 일부는 적용되지 않는 것 같습니다 (예 : SELECT문장 에서 사용될 수 있음 ). 구문 자체는 조금 혼란 것 같다 : CREATE FUNCTION emp_stamp() RETURNS trigger AS $emp_stamp$ BEGIN [...] END; $emp_stamp$ …



1
postgres 테이블의 각 레코드에 대해 트리거를 실행하는 좋은 방법이 있습니까?
Slony-I를 통해 복제 된 일부 테이블의 디자인을 제어 할 수없는 시스템이 있으므로 복제 테이블에서 일부 정보를 추출하는 '새도우 테이블'이라고하는 일련의 항목이 있습니다. 무시하고 싶은 레코드를 제거하면서 필요한 처리 된 양식으로 저장하십시오. 지금 새 복제본을 설정 한 후 업데이트 UPDATE tablename SET field=field를 실행하고 트리거를 강제로 실행하도록 값을 다시 설정 (예 …


2
plpgsql로 작성된 함수 호출의 Postgres 쿼리 계획
를 사용하는 경우 그것은 가능 pgadmin또는 plsql돌며 실행되는 SQL 문에 대한 쿼리 계획의 보류를 얻을 U 버리는 D efined F 기름 부음 (UDF)를 사용 EXPLAIN. 그렇다면 UDF의 특정 호출에 대한 쿼리 계획을 어떻게 유지할 수 있습니까? F()pgadmin에서 UDF가 단일 작업으로 추상화 된 것을 볼 수 있습니다 . 나는 문서를 보았지만 …

1
EXPLAIN ANALYZE는 plpgsql 함수 내부의 쿼리에 대한 세부 정보를 표시하지 않습니다
PostgreSQL 9.3에서 PL / pgSQL 함수를 여러 복잡한 쿼리와 함께 사용하고 있습니다. create function f1() returns integer as $$ declare event tablename%ROWTYPE; .... .... begin FOR event IN SELECT * FROM tablename WHERE condition LOOP EXECUTE 'SELECT f2(event.columnname)' INTO dummy_return; END LOOP; ... INSERT INTO ... FROM a LEFT JOIN …

2
트리거 : 삭제 된 행을 아카이브 테이블로 이동
restrictionsPostgreSQL 데이터베이스에 작은 (~ 10 행) 테이블이 있으며 값이 매일 삭제되고 삽입됩니다. restrictions_deleted삭제 된 모든 행이 restrictions자동으로 저장 되는 이라는 테이블을 갖고 싶습니다 . 이후 restrictions일련 ID를 가지고, 더 중복이되지 않습니다. PostgreSQL에서 이러한 트리거를 작성하는 방법은 무엇입니까?



3
PL / pgSQL에서 여러 행의 레코드를 반환하는 방법
RECORD 데이터 형식을 사용하여 여러 레코드를 반환하려고하는데 RECORD에 추가 하고이 RECORD에 각 반복마다 새로운 값을 추가 / 추가 할 수있는 방법이 있습니까? 즉, 루프가 끝나면 행 세트가 rec되도록 추가하고 싶습니다 rec.이 기능은 함수 끝에서 반환 할 수 있습니다. 현재, 나는 이것을하고있다- SELECT temp_table.col1, temp_table.col2, temp_table.col3 INTO rec FROM temp_table WHERE …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.