PostgreSQL 대소문자 구분 및 데이터 보기: 실용 가이드
대소문자를 구분하지 않는 데이터베이스(예: MSSQL Server)에서 PostgreSQL로 데이터를 마이그레이션하려면 PostgreSQL의 대소문자 구분 규칙을 신중하게 고려해야 합니다. PostgreSQL은 기본적으로 따옴표가 없는 객체 이름을 대소문자를 구분하지 않는 것으로 처리합니다. 그러나 인용된 이름은 대소문자를 구분하므로 대문자 이름으로 가져온 테이블을 처리할 때 문제가 발생할 수 있습니다.
PostgreSQL 데이터 보기를 생성할 때 이 문제를 해결하기 위한 몇 가지 접근 방식은 다음과 같습니다.
방법 1: 인용 수용
데이터 뷰를 구성할 때 대소문자를 구분하는 테이블 이름을 큰따옴표로 묶으세요.
<code class="language-sql">SELECT * FROM "STD_TYPE_CODES";</code>
이것은 PostgreSQL이 원래 사례를 존중하도록 명시적으로 지시합니다.
방법 2: 소문자 변환
또는 ALTER TABLE
:
<code class="language-sql">ALTER TABLE "STD_TYPE_CODES" RENAME TO std_type_codes;</code>
이렇게 하면 인용할 필요가 없어져 테이블 이름에서 대소문자를 구분하지 않게 됩니다.
방법 3: 덤프 파일 전처리
데이터베이스 덤프 작업을 하는 경우 PostgreSQL로 가져오기 전에 파일을 수정하세요. 여기에는 대문자로 표시된 테이블 이름을 소문자로 변환하는 작업이 포함됩니다. sed
과 같은 텍스트 편집기나 명령줄 도구를 사용하면 다음과 같은 작업을 수행할 수 있습니다.
<code class="language-bash">sed -r 's/"[^"]+"/\L/g' dumpfile > new_dumpfile</code>
중요 사항:
PostgreSQL에서 일관된 대소문자 구분 관리를 위해 개체 이름(테이블, 뷰 등)을 생성할 때 항상 인용하십시오. 이는 예측 가능한 동작을 보장하고 잠재적인 충돌을 방지합니다.
위 내용은 대소문자를 구분하지 않는 데이터베이스에서 PostgreSQL 데이터 보기를 생성할 때 대소문자 구분을 어떻게 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!