postgresql 데이터베이스 목록을 순환하여 postgresql 함수 내에서 쿼리를 실행하고 싶습니다. 여기 postgresql 함수에서 데이터베이스 루핑하기
CREATE OR REPLACE FUNCTION my_function()
RETURNS VOID AS
$$
DECLARE
db VARCHAR(50); -- this declaration is where the confusion is
BEGIN
FOR db IN
SELECT datname FROM pg_catalog.pg_database WHERE datname ~ '^mydbname_'
LOOP
-- this is just an example
SELECT * FROM db;
END LOOP;
END;
$$
LANGUAGE 'plpgsql';
은 내가 문자열 (예를 들어,
EXECUTE 'SELECT * FROM ' || db || ';';
)로 쿼리를 평가하기 위해 PostgreSQL을의
EXECUTE
를 사용할 수 있음을 알고 있어요 ... 코드 예제,하지만 내 쿼리는 다소 길고 복잡하다.
postgresql에서이를 수행 할 수있는 방법이 있습니까? "데이터베이스"선언 유형이 있습니까?
당신이 맞습니다 - 제가하려는 것은 근본적으로 잘못되었습니다. 이걸 bash 스크립트로 이식해야 할 것 같습니다. 감사! – jonas