dbeaver에서 postgres나 mysql db를 빠르게 백업하고 복구하는 방법을 알아봅시다. 중요한 것은 db 서버 버전하고 dbeaver쪽이 인식하는 client 버전하고 맞춰줘야 한다는 점이 있긴 하겠네요. 먼저 db를 우클릭 한 다음에 도구 - 백업을 선택합니다. 그러면 export를 할 오브젝트를 선택하라고 나옵니다. public 데이터베이스를 선택했습니다. 그랬더니, auth_group, auth_user 등 테이블들이 있는데요. 이들을 선택하면 테이블에 있는 데이터들을 쉽고 빠르게 백업할 수 있게 됩니다. 다음을 누르면, Format을 설정하고, 옵션들을 선택하는 것이 나옵니다. 옵션 선택지는 디폴트로 설정하였습니다. 그리고 Format은 Custom으로 설정하였습니다. Custom으로 ..
코딩 검색 결과
안녕하세요. 이번 시간에는 파이썬의 dictionary에서 key를 remove 하는 방법을 알아보겠습니다. 먼저, dic.pop("1")은 키 "1"을 제거합니다. 1 ~ 5번째 줄에 키 "1", "2", "3"을 넣은 딕셔너리가 선언되었는데요. 이 딕셔너리에서, 키 값 "1"을 가지는 것을 제거하였습니다. 결과는 요래 나옵니다. "1" 이라는 키가 없습니다. 참 쉽죠? 그러면, "5"를 제거하려고 하면 어떨까요? "5"는 키 값에 들어있지 않습니다. 정상적으로 수행이 될까요? KeyError가 떨어집니다. "5"가 없기 때문에 그런 겁니다. 의외로 딕셔너리를 다루다 보면, KeyError를 꽤 많이 보는데요. 원소를 제거할 때, 키가 없으면 어떻게 처리하면 좋을까요? pop 함수의 2번째 인자에 No..
python re 모듈에는 finditer와 findall 메소드가 있습니다. 이 둘에 대해 간단하게 알아봅시다. 먼저, 이 둘을 이해하기 위해, capturing group에 대해서 간단하게 설명을 드리겠습니다. ([0-9]+)([^0-9]*)가 있는데요. () 안에 있는 것은 캡쳐가 되는 패턴을 의미합니다. 하나씩 차례대로 해석해 보면, 숫자 문자로만 이루어진 패턴과, 숫자 문자가 아닌 문자로만 이루어진 패턴이거나 빈 문자열이거나, 이렇게 두 개의 패턴으로 캡쳐가 된다는 의미입니다. 예제를 보겠습니다. 먼저, "2345abcde"는 어떻게 캡쳐될까요? 숫자로만 이루어진 패턴이 "2345"이고, 숫자로 이루어지지 않거나 빈 문자열인 패턴이 뒤에 "abcde"라는 패턴으로 들어옵니다. 따라서 요렇게 캡쳐..
postgresql에는 partial index가 있습니다. 문서에 있는 것을 간단하게 요약하면, 조건을 만족하는 것만 indexing 하기 위해 쓰입니다. To avoid indexing common values가 중요한 부분입니다. django에서 email 필드에 대해, 널 값인 경우 unique 제약조건을 먹히지 않게 하는 방법을 찾다가 아래의 방법을 찾게 되었는데요. 35 ~ 39번째 의미는, 제약 조건을 추가할 텐데 UniqueConstraint를 추가할 거라는 의미입니다. field는 email, name은 email_idx, 중요한 것은 Q 조건입니다. email__isnull이 False인 것에 대해서만 적용하겠다는 의미입니다. 장고에서 이것을 어떻게 쓰는지에 대해, 이 글에서는 언급을 ..
postgresql에서 random 함수를 쓰면서 generate_series 함수를 썼습니다. 오늘 이 함수에 대해서 조금 더 자세히 알아보도록 하겠습니다. 먼저, 숫자형에 대해서는, 이렇게 2가지 인자를 줄 수 있습니다. 이 때에는 step이 1입니다. 1씩 증가한다는 의미입니다. start가 1이고, end가 10인데요. 1부터 10까지 순서대로 결과에 나타납니다. 1부터 10까지 출력됨을 볼 수 있어요. 그런데 4씩 증가하게 할 수 없을까요? 3번째 인자로 4를 주면 됩니다. start가 1이고, end가 10, step이 4이므로, 1, 5, 9만 출력됩니다. 9 다음에 13인데요. 13은 10보다 크기 때문에, 출력되지 않습니다. 결과를 보면 1, 5, 9만 나왔음을 알 수 있습니다. 반대로,..
최근댓글