본문 바로가기

분류 전체보기28

PostgreSQL 트리거 실행시 재귀(recursion)문제 PostgreSQL에서 테이블의 UPDATE / INSERT시 트리거가 발생하는 경우, 트리거 함수내에서 같은 테이블의 UPDATE / INSERT문이 실행되면 재귀문제가 발생하여 스택오버플로우(stack overflow) 문제가 발생한다. 재귀가 발생하는 문제를 해결하기 위해서는 트리거에 pg_trigger_depth() = 0을 추가한다. CREATE TRIGGER trg_taxonomic_positions AFTER INSERT OR UPDATE OF taxonomic_position ON taxon_concepts FOR EACH ROW WHEN (pg_trigger_depth() = 0) EXECUTE PROCEDURE trg_taxonomic_positions() stack overflow를 .. 2022. 11. 5.
PostgreSQL 트리거 함수 변수값 초기화, 대입하는 방법 PostgreSQL 트리거 함수에서 변수값을 초기화하고 대입하는 방법에는 := 을 사용한다. 1.DECLARE내에서 변수 선언 뒤 값 초기화 하기 ex) value integer := 0; 2.선언 되어진 변수 값 대입하기 ex) value := 5; 2022. 11. 5.
오늘부터 러스트 공부 시작 시스템 프로그래밍에 주로 사용되고 있다는 러스트 공부를 오늘부터 시작하게 되었다. 코틀린을 공부할 때는 블로그에 내용을 하나도 남기지 못했는데 러스트 공부부터는 공부한 내용을 블로그에 남기고자 한다. 그래도 코틀린은 아직 더 배우고 싶은 내용이 있어서 책을 한 권 더 샀으니 그 내용이라도 나중에 함께 공유할 수 있었으면 좋겠다. 러스트를 공부하게된 계기는 주니어 개발자로서 여러 프로그래밍 언어를 공부하고 싶다는 생각이 들었다. 고수준의 언어를 공부하다 보면 저수준의 언어도 공부해보고 싶은 욕구가 생긴다. 러스트는 C++을 대신할 언어로서 보다 효율적이고 안정적으로 사용할 수 있는 기능들이 있다고 한다. 스택 오버플로우에서는 꽤 오랫동안 러스트가 인기를 받고 있는 언어라고 하며 유명한 구글이나 페이스북, .. 2022. 11. 3.
러스트 환경설정 하기 source $HOME/.cargo/env https://www.rust-lang.org/tools/install Install Rust A language empowering everyone to build reliable and efficient software. www.rust-lang.org 에서 명령프롬프트에서 실행한뒤 패키지를 다운로드한 뒤에 cargo명령어를 실행하면 나와 같은 경우에는 -bash: cargo: command not found 와 같은 커맨드를 찾을 수 없다는 결과가 나왔다. 그럴 때는 source $HOME/.cargo/env 를 사용하여 리부팅없이 환경설정 파일을 즉시 실행시킬 수 있다. 2022. 11. 3.