2023/11/28
PostgreSQL dblink 기본 사용법
2023/07/26
PostgreSQL 백업 및 복원 예 (일반적인 논리 백업)
■ 백업
명령행 실행시 패스워드 없이 할려면, pgpass.conf 에 작업 계정에 대한 인증 설정이 미리 되어 있어야 함.
(원격)
pg_dump --host localhost --port 5432 --username "postgres" --password "" --dbname "test" --format custom --blobs --verbose --file "test.backup"
(로컬)
pg_dump --username "postgres" --no-password --dbname "test" --blobs --verbose --format=c --file "test.backup"
■ 복원
유의) 복원 대상에 세션이 물려 있는 경우에는, 복원시 대상 개체의 drop, create 쿼리 실행 오류가 발생하고, 그걸 무시하고 계속 진행하는 경우 기존 테이블에 데이터가 중복 복원 추가됨. 그러므로, 세션이 일체 물려 있지 않은 상태에서 복원 작업을 진행해야 함.
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND datname = 'test';
(DB 복원으로 할 경우. 대상 이름이 다른 경우 미리 생성후)
pg_restore --clean --create --no-privileges --no-owner --username "postgres" --dbname "test_new" --disable-triggers --format=c --verbose "test.backup"
--clean --create 파라미터를 주는 경우 백업에 있는 DB명으로 동일 복원. 하지만 복원 대상과 동일 DB 명을 주면 에러를 뿌림.
pg_restore 내부 로직이 문제인지 모르겠으나,.
test 를 삭제후 test 에 복원하려면, 다른 DB명으로 복원 지정(생성)후 하면, 원래 test 를 삭제/복원. 동일하게 test 를 지정하면 DB drop,create 오류나고, 생성 안해두면 DB 없다고 또 복원 안됨..;;
(다른 DB에 단순 복원으로 할 경우. 대상 이름이 다른 경우 미리 생성후)
pg_restore --no-privileges --no-owner --username "postgres" --dbname "test_new" --format=c --verbose "test.backup"
테이블의 경우 개체가 이미 있는 경우, 거기에 레코드 추가 insert 방식이므로, 데이터 중복 발생 유의.
(대상 DB에, 대상 테이블 복원으로 할 경우)
pg_restore --clean --no-privileges --no-owner --username "postgres" --dbname "test_new" --table "table1" --disable-triggers --format=c --verbose "test.backup"
--clean 파라미터 주면, 대상 개체를 먼저 삭제후 복원. 파라미터 없는 상태에서 중복 이름 있는 경우, 데이터 중복 복원해 버리므로 유의 필요.
2023/03/16
Gmail 550-5.7.1 missing a valid messageId header 오류
Gmail 주소에 메일 전송시, 아래와 같은 리턴이 있다면, 전송 메일 주소의 SPF 설정/작동 점검을 일단 해볼 필요가 있음. 여러 가능성중에 하나.
Reporting-MTA: dns; googlemail.com
Received-From-MTA: dns; support@my-domain-com.co.kr
Arrival-Date: Wed, 15 Mar 2023 21:16:53 -0700 (PDT)
X-Original-Message-ID: <64129835.170a0220.36737.5aebSMTPIN_ADDED_MISSING@mx.google.com>
Final-Recipient: rfc822; rev-mail@gmail.com
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550-5.7.1 [209.85.220.69] Messages missing a valid messageId header are not
550 5.7.1 accepted. nu11-20020a17090b1b0b00b0023d2e220d6fsor1541472pjb.6 - gsmtp
Last-Attempt-Date: Wed, 15 Mar 2023 21:16:57 -0700 (PDT)
SMTP 서버에서 HeloDomain,SMTPServerDomain 에 지정한 도메인의 SPF 설정. 즉 domain.com 이면 domain.com 호스트의 SPF, mail.domain.com 이면 mail.domain.com 호스트에 SPF 설정/조회가 되도록 설정.
그외 다른 이유는..?
2023/03/01
IIS SMTP STARTTLS 전송 오류
다음 이유 때문에 원격 도메인 'outlook.com'(으)로 배달하는 동안 '52.96.111.82' 호스트로 메시지를 배달하지 못했습니다. An SMTP protocol error occurred. 오류를 일으킨 SMTP 동사는 'MAIL'입니다.
원격 서버의 응답은 '451 5.7.3 STARTTLS is required to send mail [BL1P221CA0028.NAMP221.PROD.OUTLOOK.COM 2023-03-01T08:3'입니다.
> IIS SMTP 설정에서, TLS 설정
가능하면 되고 안되면 일반 연결이 되고 이런 자동 선택적 옵션이 아닌, 무조건 강제 옵션이기 때문에, 이걸 설정하면, TLS 설정을 요구하는 outbound 원격지에선 메일이 수신되지만,. STMP Inbound 에 접근하는 SMTP Client 도 모두 SSL 관련 설정이 되어 있어야 함.
2023/02/28
DistributedCOM 10016
로그 이름: System
원본: Microsoft-Windows-DistributedCOM
이벤트 ID: 10016
설명:
응용 프로그램별 권한 설정에서 CLSID가
{0DC1AB8B-A52D-4BA8-BD76-E2819386FB2F}
이고 APPID가
{BDBED08B-7FB7-4EEA-AFD0-53DE534CB638}
인 COM 서버 응용 프로그램에 대한 로컬 활성화 사용 권한을 응용 프로그램 컨테이너 사용할 수 없음 SID(사용할 수 없음)에서 실행 중인 주소 LocalHost(LRPC 사용)의 사용자 abc\aaa SID(S-1-5-21-1173076938-3139918828-2747313952-500)에게 부여하지 않았습니다. 구성 요소 서비스 관리 도구를 사용하여 이 보안 권한을 수정할 수 있습니다.
대상 DCOM 구성요소는 'ActivationHints' 이고,
Lib 경로는 C:\Windows\System32\twinui.appcore.dll
HKEY_CLASSES_ROOT\AppID\{bdbed08b-7fb7-4eea-afd0-53de534cb638}
LaunchPermission, RunAs=Interactive User
터미널 로그온세션과 별개로 0 세션에서 배치파일을 실행할려고 vbscript 'CreateObject("WScript.Shell").Run' 개체를 활용했는데, 이게 Windows Server 2022 부터? 터미널 로그온 상태에서, 동일 계정 다른 세션에서 실행되면, 그런것으로 보이긴 함.. (위 구성요소는 권한 설정이 잠겨 있음).
아뭏튼, 터미널 로그온이 없는 다른 계정으로 실행하던가 하면 되긴 한데, 일단은 SYSTEM 계정으로 실행하는것으로 변경해 놓음.
그런데, ActivationHints 구성요소가 구체적으로 어떤 작동을 하는것인지, 아무리 검색해봐도 설명을 찾을수가 없넹..;;
Visual Studio CS0518 에러 메시지 표시 관련
Visual Studio 2019 에서, 이전 버전에서 작업했던 ASP.NET MVC 프로젝트를 로드하면, cshtml 에서 c# 언어쪽 문자열에서 CS0518 개체 타입 관련 경고(오류) 표시가 쭈욱 나는 증상..
빈 새프로젝트를 생성해서 비교해 보니, 이건 또 경고창이 안뜬다. web.config 에서 compilers 항목의 버전 지정값이 다르긴 한데..
그래서, 다시 기존 프로젝트를 열었던 VS 를 종료후 다시 실행하니깐.. 응??? 이건 왜 또 경고창이 발생안해 ???.....;; cshtml 파일 razor 타입 코딩된 페이지 열면 경고창이 떳는데, 메쏘드 부분만 잘라내기 후 다시 그자리에 붙이기 하니, 경고창이 없어진다.. ㅎㅎ
이건 아무래도.. Visual Studio 소스 편집기 "버그" 인것 같음.. 이유는 위와 같이 어떨땐 경고표시되고 어떨땐 또 정상으로 잘 확인되고... 패턴을 모르겠음..
다른 문서를 찾아보면, mscorlib.dll 로딩 문제라고 하는데 그게 맞는건지도 모르겟고.. 원인 찾아볼려고 했는데... 다들 이런 저런 얘기가 있긴 한데,. 조금씩 다른 얘기들이라서 맞는건지도 모르겠고.. 그냥 이쯤에서 종료..;;
가장 많이 본 글
-
구글... 도대체 뭐하는 짓인지......?? 뭐 내용상으로는,. 누군가 Spam 이라며 신고했다는 건데, 스팸 사이트도 아니고 그럴 내용도 없다. 누군가 악의적으로 신고한것인지 ? 아니면 구글 시스템 오류인건지? 특이한건,. 같은 구글 계정으로 생성...
-
업데이트 적용 환경 : Windows Server 2022 Std, 21H2 설치 실패: 0x8024200B 오류 때문에 Windows에서 다음 업데이트를 설치하지 못했습니다. 2024-01 x64 기반 시스템용 Microsoft server oper...
-
PostgreSQL 에서 처음 dblink 를 사용하는 경우에는 dblink 라이브러리를 확장모듈에 로딩을 해놔야 함. 안그러면 알수 없는 함수라는 오류가 표시됨. -- dblink 로딩 (최초1회 > PgAdmin 에서 해당 DB의 확장모듈에...