다음 메모는 원하는 사용자의 이점을위한 것입니다. Postgres95 1.0에서 Postgres95 1.01로 데이터베이스를 마이그레이션합니다.
Postgres95 1.01로 새롭게 시작하고 필요하지 않은 경우 오래된 데이터베이스를 마이그레이션하려면 더 이상 읽을 필요가 없습니다.
Postgres95 버전 1.0, 다음 단계가 필요합니다.
src/makefile.global에서 PamedAtalen의 정의를 설정합니다 16 ~ 16 ~ Oidnamelen ~ 20.
호스트 기반을 사용할지 여부를 결정하십시오 입증.
그렇다면 "pg_hba"파일 이름을 만들어야합니다. 최상위 데이터 디렉토리 (일반적으로 값 귀하의 $ pgdata). SRC/LIBPQ/PG_HBA가 예를 보여줍니다 통사론.
호스트 기반 인증을 원하지 않으면 가능합니다 라인 댓글
HBA = 1src/makefile.global
호스트 기반 인증이 켜집니다 기본값, 위의 A 또는 B 단계를 수행하지 않으면 Box 1.01은 1.0에 연결할 수 없습니다. 데이터베이스.
1.01을 컴파일하고 설치하지만 initDB를 수행하지 마십시오. 단계.
다른 일을하기 전에 1.0 우체국 장을 종료하십시오. 기존 $ pgdata 디렉토리를 백업하십시오.
PGDATA 환경 변수를 1.0으로 설정하십시오 데이터베이스이지만 1.01 바이너리가 사용된.
파일 수정 $ pgdata/pg_version 5.0에서 5.1
새로운 1.01 Postmaster 시작
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 (텍스트, 텍스트) bool을 'foo'로 반환합니다. 언어 '내부'; 함수 만들기 texticregexne (텍스트, 텍스트) bool을 'foo'로 반환합니다. 언어 '내부'; - 1.01에 새로운 내장 기능을 추가하십시오 create operator = (leftarg = int4, rightarg = oid, procedure = int4eqoid); create operator = (leftarg = oid, rightarg = int4, process = oideqint4); 연산자 생성 ~* (leftarg = char2, rightarg = text, procedure = char2icregexeq); 연산자 생성! ~* (leftarg = char2, rightarg = text, procedure = char2icregexne); 연산자 생성 ~* (leftarg = char4, rightarg = text, procedure = char4icregexeq); 연산자 생성! ~* (leftarg = char4, rightarg = text, procedure = char4icregexne); 연산자 생성 ~* (leftarg = char8, rightarg = text, procedure = char8icregexeq); 연산자 생성! ~* (leftarg = char8, rightarg = text, procedure = char8icregexne); 연산자 생성 ~* (leftarg = char16, rightarg = text, procedure = char16icregexeq); 연산자 생성! ~* (leftarg = char16, rightarg = text, procedure = char16icregexne); 연산자 생성 ~* (leftarg = 텍스트, rightarg = text, procedure = texticregexeq); 연산자 생성! ~* (왼쪽 = 텍스트, rightarg = 텍스트, 절차 = texticregexne);
비 호환성 : * 1.01은 1.0 데이터베이스와 호환됩니다. Migration_FROM_1.0_TO_1.01 파일에 설명 된 단계를 따르십시오. 이러한 단계를 수행하지 않으면 1.01은 1.0 데이터베이스와 호환되지 않습니다. 향상 : * pqdisplayTuples ()를 libpq에 추가하고 Monitor 및 PSQL을 사용하여 사용했습니다. * 다음 포트 추가 (SYSVIPC 구현 필요) * Cast .. AS ... 구문 * ASC 및 DESC 키워드가 추가되었습니다 * 기능 생성을위한 가능한 언어로 '내부'추가 내부 함수는 정적으로 연결된 C 함수입니다. Postgres 백엔드로. * 시스템 식별자 (테이블 이름, 속성 이름 등) 기존 char16 유형을 대체합니다. 그만큼 이름의 이름은 src/makefile.global에서 namedatalen #define에 의해 설정되었습니다. * 쿼리 언어를 설명하는 읽을 수있는 참조 설명서. * 호스트 기반 액세스 컨트롤이 추가되었습니다. 구성 파일 ($ pgdata/pg_hba) 구성 데이터를 보유하는 데 사용됩니다. 호스트 기반 액세스 제어 인 경우 바람직하지 않습니다. src/makefile.global에서 HBA = 1을 주석하십시오. * Henry Spencer의 REGEX 코드의 균일 한 사용으로 변경 변경 변경 변경 플랫폼에 관계없이. REGEX 코드는 배포에 포함됩니다 * 사례에 민감한 정규 표현식에 대한 기능 및 연산자가 추가되었습니다. 연산자는 ~*와! ~*입니다. * pg_dump는 더 나은 성능을 위해 선택 루프 대신 사본을 사용합니다. 버그 수정 : * 코어 덤프를 유발하는 옵티마이저 버그를 수정했습니다. 기능 호출은 WHERE 절에서 비교하여 사용되었습니다. * 효과적인 UID가 사용되도록 GetUID의 모든 사용을 GetEuid로 변경했습니다. * PSQL은 이제 -c를 사용할 때 오류에서 0이 아닌 상태를 반환합니다. * 응용 공공 패치 1-14