복붙노트

[SQL] 영구적으로 설정 PostgreSQL을 스키마 경로

SQL

영구적으로 설정 PostgreSQL을 스키마 경로

나는 때마다 예를 들어, 스키마 점 테이블을 지정하지 않도록 포스트 그레스에서 설정 스키마 경로에 필요 schema2.table. 설정 스키마 경로 :

SET SCHEMA PATH a,b,c

경로 만 변수 세트 자체가 기본적으로 백업 I 가까운 쿼리 창 후, 맥에 하나 개의 쿼리 세션 작동하는 것 같다.

어떻게하면 영구적으로 만들 수 있습니까?

해결법

  1. ==============================

    1.(그리고 서버에는 관리자 권한이없는 경우)

    (그리고 서버에는 관리자 권한이없는 경우)

    ALTER ROLE <your_login_role> SET search_path TO a,b,c;
    

    에 대해 알 수있는 두 가지 중요한 일 :

  2. ==============================

    2.당신은 데이터베이스 수준에서 기본 search_path의를 설정할 수 있습니다 :

    당신은 데이터베이스 수준에서 기본 search_path의를 설정할 수 있습니다 :

    ALTER DATABASE <database_name> SET search_path TO schema1,schema2;
    

    또는 사용자 또는 역할 수준에서 :

    ALTER ROLE <role_name> SET search_path TO schema1,schema2;
    

    모든 데이터베이스에 공통 기본 스키마가있는 경우 또는 당신은 search_path의 옵션 설정 파일에서 시스템 전체의 기본값을 설정할 수 있습니다.

    데이터베이스가이 숨겨진 "템플릿"라는 이름의 데이터베이스 template1를에서 기본적으로 만들어집니다 만들 때, 당신은 미래에 생성 된 모든 데이터베이스에 대한 새 기본 검색 경로를 지정하려면 해당 데이터베이스를 변경할 수 있습니다. 당신은 또한 다른 템플릿 데이터베이스를 만들 수 있습니다 사용하여 데이터베이스를 생성 할 DATABASE <데이터베이스 _> 템플릿 를 만듭니다.

  3. ==============================

    3.조쉬는 정확하지만 그는 하나 개의 변형을 왼쪽 :

    조쉬는 정확하지만 그는 하나 개의 변형을 왼쪽 :

    ALTER ROLE <role_name> IN DATABASE <db_name> SET search_path TO schema1,schema2;
    

    하나의 특정 데이터베이스에서 사용자의 검색 경로를 설정합니다.

  4. from https://stackoverflow.com/questions/2875610/permanently-set-postgresql-schema-path by cc-by-sa and MIT license