출시일: 1996-02-23
다음 참고사항은 다음을 원하는 사용자를 위한 것입니다. postgres95 1.0에서 postgres95 1.01로 데이터베이스를 마이그레이션합니다.
postgres95 1.01을 사용하여 새로 시작하지만 다음을 수행하지 않는 경우 이전 데이터베이스를 마이그레이션해야 하지만 어떤 내용도 읽을 필요가 없습니다. 더 나아가.
포스트그레스95 버전 1.01에서 데이터베이스를 생성하려면 postgres95 버전 1.0의 경우 다음 단계는 다음과 같습니다. 필수:
NAMEDATALEN의 정의를 다음에서 설정하십시오. src/Makefile.global을 16으로, OIDNAMELEN을 20으로 설정합니다.
호스트 기반을 사용할지 결정하세요 인증.
그렇다면, "pg_hba"라는 파일 이름을 다음 위치에 만들어야 합니다. 최상위 데이터 디렉토리(일반적으로 $PGDATA). src/libpq/pg_hba에 예제가 나와 있습니다. 구문.
호스트 기반 인증을 원하지 않는다면, 해당 줄을 주석 처리할 수 있습니다.
HBA = 1src/Makefile.global에서
호스트 기반 인증이 켜져 있음을 참고하세요 기본적으로 A 또는 B 단계를 수행하지 않으면 위의 기본 1.01에서는 다음을 허용하지 않습니다. 1.0 데이터베이스에 연결합니다.
1.01을 컴파일하고 설치하지만 initdb를 수행하지 마십시오. 단계.
다른 작업을 수행하기 전에 1.0을 종료하십시오. postmaster 및 기존 $PGDATA 백업 디렉토리.
PGDATA 환경 변수를 1.0으로 설정하세요 데이터베이스이지만 1.01 바이너리가 사용되고 있습니다.
$PGDATA/PG_VERSION 파일을 5.0에서 5.1로 수정
새로운 1.01 포스트마스터 시작
1.01의 새로운 내장 함수 및 연산자 추가 1.0 데이터베이스로. 이는 새로운 1.01을 실행하여 수행됩니다. 자신의 1.0 데이터베이스에 대해 서버를 설치하고 쿼리를 첨부하여 1.0_to_1.01.sql 파일에 저장롤 토토. 이는 psql을 통해 쉽게 수행할 수 있습니다. 1.0이라면 데이터베이스 이름은 "testdb"입니다:
% psql testdb -f 1.0_to_1.01.sql그리고 다음 명령을 실행합니다(다음 명령을 잘라내어 붙여넣기). 여기):
-- 1.01에 새로 추가된 내장 함수 추가 함수 int4eqoid(int4, oid) 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; 함수 oideqint4(oid, int4) 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; char2icregexeq(char2, text) 함수 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; char2icregexne(char2, text) 함수 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; char4icregexeq(char4, text) 함수 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; char4icregexne(char4, text) 함수 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; char8icregexeq(char8, text) 함수 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; char8icregexne(char8, text) 함수 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; char16icregexeq(char16, text) 함수 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; char16icregexne(char16, text) 함수 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; 함수 texticregexeq(text, text) 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; 함수 texticregexne(text, text) 생성은 bool을 'foo'로 반환롤 토토. 언어 '내부'; -- 1.01에 새로운 내장 기능을 추가롤 토토. 연산자 생성 = (leftarg = int4, rightarg = oid, 프로시저 = int4eqoid); 연산자 생성 = (leftarg = oid, rightarg = int4, 프로시저 = oideqint4); 연산자 ~* 생성(leftarg = char2, rightarg = 텍스트, 프로시저 = char2icregexeq); 연산자 만들기 !~*(leftarg = char2, rightarg = 텍스트, 프로시저 = char2icregexne); 연산자 ~* 생성(leftarg = char4, rightarg = 텍스트, 프로시저 = char4icregexeq); 연산자 만들기 !~*(leftarg = char4, rightarg = 텍스트, 프로시저 = char4icregexne); 연산자 ~* 생성(leftarg = char8, rightarg = 텍스트, 프로시저 = char8icregexeq); 연산자 만들기 !~*(leftarg = char8, rightarg = 텍스트, 프로시저 = char8icregexne); ~* 연산자 생성(leftarg = char16, rightarg = 텍스트, 프로시저 = char16icregexeq); 연산자 만들기 !~*(leftarg = char16, rightarg = 텍스트, 프로시저 = char16icregexne); 연산자 ~* 생성(leftarg = 텍스트, rightarg = 텍스트, 프로시저 = texticregexeq); 연산자 만들기 !~*(leftarg = 텍스트, rightarg = 텍스트, 프로시저 = texticregexne);
비호환성: * 1.01은 사용자가 제공하는 1.0 데이터베이스와 역호환됩니다. MIGRATION_from_1.0_to_1.01 파일에 설명된 단계를 따르세요. 해당 단계를 수행하지 않으면 1.01은 1.0 데이터베이스와 호환되지 않습니다. 향상된 기능: * libpq에 PQdisplayTuples()를 추가하고 이를 사용하도록 모니터와 psql을 변경했습니다. * NeXT 포트 추가(SysVIPC 구현 필요) * CAST .. AS ... 구문이 추가되었습니다. * ASC 및 DESC 키워드 추가 * CREATE FUNCTION에 가능한 언어로 'internal'을 추가했습니다. 내부 함수는 정적으로 링크된 C 함수입니다. 포스트그레스 백엔드로. * 시스템 식별자(테이블 이름, 속성 이름 등) 이는 이전 char16 유형을 대체합니다. 는 이름은 src/Makefile.global의 NAMEDATALEN #define에 의해 설정됩니다. * 쿼리 언어를 설명하는 읽을 수 있는 참조 매뉴얼입니다. * 호스트 기반 액세스 제어가 추가되었습니다. 구성 파일($PGDATA/pg_hba) 구성 데이터를 보유하는 데 사용됩니다. 호스트 기반 액세스 제어인 경우 원하지 않는 경우 src/Makefile.global에서 HBA=1을 주석 처리하세요. * 정규식 처리가 Henry Spencer의 정규식 코드를 동일하게 사용하도록 변경되었습니다. 플랫폼에 관계없이. 정규식 코드가 배포판에 포함되어 있습니다. * 대소문자를 구분하지 않는 정규 표현식을 위한 함수 및 연산자가 추가되었습니다. 연산자는 ~* 및 !~*입니다. * pg_dump는 더 나은 성능을 위해 SELECT 루프 대신 COPY를 사용합니다. 버그 수정: * 코어 덤프를 발생시키는 최적화 버그를 수정했습니다. WHERE 절의 비교에 함수 호출이 사용되었습니다. * 효과적인 uid가 사용되도록 getuid의 모든 사용을 geteuid로 변경했습니다. * psql은 이제 -c를 사용할 때 오류가 발생하면 0이 아닌 상태를 반환합니다. * 공개 패치 1~14 적용