CONSTRAINT 이름 변경

ALTER TABLE 스키마명.테이블명 RENAME CONSTRAINT 기존_CONSTRAINT명 TO 새로운_CONSTRAINT명;

 

1. postgres_fdw 설치


CREATE EXTENSION postgres_fdw;

2. FDW서버 생성
CREATE SERVER 서버명(A) FOREIGN DATA WRAPPER postgres_fdw 
OPTIONS (host '아이피', port '포트', dbname '데이터베이스명');

3. FDW 사용자 매핑
CREATE USER MAPPING FOR 유저명(타켓db)
SERVER 서버명(A)
OPTIONS (user '유저명(원격DB)', password '패스워드(원격DB)');

 

4. 스키마 생성
CREATE SCHEMA 스키마명(타겟DB)
    AUTHORIZATION 접근_사용자명;

5. Foreign Table 생성


CREATE FOREIGN TABLE 스키마명.테이블명 (
    컬럼명 character varying OPTIONS (column_name '원격 컬럼명') NOT NULL,


    ....
)
    SERVER 서버명(A)
    OPTIONS (schema_name '원격 스키마명', table_name '원격 테이블명');

ALTER FOREIGN TABLE 스키마명.테이블명
OWNER TO 사용자명;

-- postgres_fdw 설치
CREATE EXTENSION postgres_fdw;

-- FDW서버 생성
CREATE SERVER 서버명(A) FOREIGN DATA WRAPPER postgres_fdw 
OPTIONS (host '아이피', port '포트', dbname '데이터베이스명');

-- FDW 사용자 매핑
CREATE USER MAPPING FOR 유저명(타켓db)
SERVER 서버명(A)
OPTIONS (user '유저명(원격DB)', password '패스워드(원격DB)');

-- 스키마 생성
CREATE SCHEMA 스키마명(타겟DB)
    AUTHORIZATION 접근_사용자명;

-- 원격 스키마의 테이블을 타겟 스키마에 Foreign Table 일괄 생성
IMPORT FOREIGN SCHEMA 스키마명(원격DB)
FROM SERVER 서버명(A)
INTO 스키마명(타겟DB);

'DBMS > PostgreSQL' 카테고리의 다른 글

[PostgreSQL] CONSTRAINT 이름 변경  (0) 2021.07.27
[PostgreSQL] Foreign Table 생성  (0) 2021.07.20
GRANT 권한 부여  (0) 2021.07.19
제약 조건 추가 / 제거  (0) 2021.07.19
[PostgreSQL] DB Lock 확인 및 해제  (0) 2019.12.04

다른 ROLE 이 스키마에 포함된 테이블을 접근하려면 USAGE 권한 부여 필요함.

 

GRANT USAGE ON SCHEMA 스키마명 TO 계정명;

GRANT ALL ON TABLE 스키마명.테이블명 TO 계정명;

GRANT INSERT, SELECT, UPDATE, DELETE ON TABLE 스키마명.테이블명 TO 계정명;

 

 제약조건 추가

ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 PRIMARY KEY(컬럼명);

ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 FOREIGN KEY(컬럼명) REFERENCES 참조테이블명(참조컬럼명);


 제약조건 제거

ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명;

 

- Lock확인

SELECT 
	a.pid, a.*, b.* 
FROM pg_locks a
JOIN pg_stat_all_tables b
  ON a.relation=b.relid

- Lock 해제

SELECT pg_cancel_backend(pid);

 

'DBMS > PostgreSQL' 카테고리의 다른 글

[PostgreSQL] Foreign Table 생성  (0) 2021.07.20
[postgresSQL] 스키마 단위로 Foreign Table 일괄 생성  (0) 2021.07.20
GRANT 권한 부여  (0) 2021.07.19
제약 조건 추가 / 제거  (0) 2021.07.19
Oracle VS PostgreSQL 쿼리 비교  (0) 2019.11.29

오라클 하고 PostgreSQL 가 서로 다른 SQL 문법을 정리 중입니다.

 

오라클 PostgreSQL
명령어 명령어 예제
NVL COALESCE SELECT COALESCE(컬럼명, 널값일때 대체할 값) FROM 테이블명;
SYSDATE now() SELECT to_char(now(), 'YYYY-MM-DD')
DUAL   SELECT 1 ;
ROWNUM LIMIT SELECT * FROM 테이블명 LIMIT 100;
DECODE 지원안함. CASE 문으로 사용
SELECT case when 컬럼명 = '1' then '일' else '기타' end FROM 테이블명 ;
     

 

+ Recent posts