블로그 이미지
자료에 문제가 있을 경우, 확인하는대로 삭제처리 하겠습니다. 즐거운 하루 되시길...
04-28 00:36
Total
Today
Yesterday

카테고리

분류 전체보기 (199)
이야기방 (20)
공부방 (173)
개발관련&IT용어.. 등등; (7)
잡다구니 (8)
OS & Server (13)
NetWork (3)
DB (30)
Delphi (47)
LUA (0)
JAVA (6)
HTML (10)
XML (1)
ASP (5)
JSP (2)
자바스크립트 (27)
CSS (8)
ETC.. (6)
개발노트&관련잡다구니 (6)

-- 테이블, 컬럼(특정) Default 체크
DECLARE @tablename varchar(100)
DECLARE @columnname varchar(100)

set @tablename  = 테이블
set @columnname = 컬럼

select d.*  
  from sys.default_constraints d
 inner join sys.tables t on t.object_id = d.parent_object_id  
 inner join sys.columns c on c.object_id = t.object_id and c.column_id = d.parent_column_id 
 where t.name = @tablename
   and c.name = @columnname
;

-- 테이블, 컬럼(특정) Default 삭제
DECLARE @tablename varchar(100)
DECLARE @columnname varchar(100)
DECLARE @conname varchar(100)

set @tablename  = 테이블
set @columnname = 컬럼
SET @conname = (select d.name  
      from sys.default_constraints d
 inner join sys.tables t on t.object_id = d.parent_object_id  
 inner join sys.columns c on c.object_id = t.object_id and c.column_id = d.parent_column_id 
 where t.name = @tablename
   and c.name = @columnname
)
  
exec ('ALTER TABLE [' + @tablename + '] DROP CONSTRAINT [' + @conname + ']' )

-- 테이블, 컬럼(특정) Default 변경
DECLARE @tablename  varchar(100)
DECLARE @columnname varchar(100)
DECLARE @defaultold varchar(100)
DECLARE @conname    varchar(100)

set @tablename  = 테이블
set @columnname = 컬럼
set @defaultold = 변경 대상 Default 값
if EXISTS (select 'X' from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @tablename and COLUMN_NAME = @columnname and COLUMN_DEFAULT like '(' + @defaultold + '%)') begin
SET @conname = (
select d.name  
      from sys.default_constraints d
 inner join sys.tables t on t.object_id = d.parent_object_id  
 inner join sys.columns c on c.object_id = t.object_id and c.column_id = d.parent_column_id 
 where t.name = @tablename
   and c.name = @columnname
)   

exec ('ALTER TABLE [' + @tablename + '] DROP CONSTRAINT [' + @conname + ']')
end

if isnull((select COLUMN_DEFAULT from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @tablename and COLUMN_NAME = @columnname), '') = '' begin
exec ('ALTER TABLE [' + @tablename + '] ADD  DEFAULT CONVERT([char](8),getdate(),(112))+replace(CONVERT([char](8),getdate(),(108)),'':'','''') FOR ' + @columnname)
end

 

- 빨간색은 알아서 잘.. 변경해서.. 

Posted by 래채
, |

DO $$ DECLARE
    r RECORD;
BEGIN
    FOR r IN (SELECT pid FROM pg_stat_activity
   where datname = 'DB명'
     and client_addr = '127.0.0.1'    
    ) LOOP
        EXECUTE ' SELECT pg_terminate_backend( ' || r.pid || ' )';
    END LOOP;
END $$;

 

* select 문 안의 where 조건에 해당하는 쿼리를 강제종료합니다.

 

Posted by 래채
, |

-- 특정 테이블의 owner 와 소속 schema 는 아래 명령으로 쉽게 변경할수 있습니다.

ALTER TABLE 현소유자 OWNER TO 새소유자;

ALTER TABLE 테이블명 SET SCHEMA 새로운_스키마명

 

 

-- 참고로 특정 유저 소유의 모든 오브젝트들을 다른 유저 소속으로 바꾸고 싶다면 아래명으로 간단히 처리할수 있습니다.

REASSIGN OWNED BY 현OWNER TO 새OWNER;

 

 

원본링크 : https://www.postgresdba.com/bbs/board.php?bo_table=B12&wr_id=59&page=2

Posted by 래채
, |