E.50. �汾 1.01

��������: 1996-02-23

E.50.1. �� v1.0 Ǩ�Ƶ� v1.01

1996-02-23

������Ϣ�Ǹ���Щϣ�������ݿ�� postgres95 1.0 �� postgres95 1.01 Ǩ�Ƶ��û���һЩ������Ϣ��

������Ǹոհ�װ��� postgres95 1.01 ����û����ҪǨ�Ƶľ����ݿ⣬ ��ô�㲻��Ҫ�Ķ����沿�֣�

���Ҫ��postgres95 �汾 1.0 �����ݿ��� postgres95 �汾 1.01 Ǩ�ƣ� ��Ҫ��������IJ��裺

  1. ���ļ� src/Makefile.global ��ı��� NAMEDATALEN ����Ϊ16�� OIDNAMELEN ����Ϊ 20��

  2. �����Լ��Ƿ���Ҫ������Ϊ��������֤��HBA����

    1. �������Ҫ��ô���� ������ڶ�������Ŀ¼��ͨ������Ļ�������$PGDATA��ֵ���ﴴ��һ����Ϊ "pg_hba" ���ļ��������������﷨���� src/libpq/pg_hba ����

    2. ����㲻��Ҫ����������Ϊ��������֤�� ����԰� src/Makefile.global �����������ע�͵�

              HBA = 1

      Ҫע��ȱʡʱ������Ϊ��������֤��HBA���Ǵ򿪵ģ� ��������㲻��������˵�IJ���A��B�е��� ��һ�������������ϣ�out-of-the-box����1.01�汾������������1.0�����ݿ����ӣ�

  3. ����Ͱ�װ 1.01�����Dz�Ҫִ�� initdb ���裮

  4. �ڽ�����һ��֮ǰ��崵�1.0��postmaster���̣�Ȼ�󱸷������е� $PGDATA Ŀ¼��

  5. ����� PGDATA ������������Ϊ��� 1.0 �Ŀ⣨��λ�ã��� ���ǰ�·�����ó�1.01�Ŀ�ִ���ļ�·����

  6. ���ļ� $PGDATA/PG_VERSION ��5.0�޸ij�5.1

  7. �����µ�1.01��postmaster��

  8. ��1.01���µ��ڽ��ĺ����Ͳ�����׷�ӵ�1.0�����ݿ���ȥ�� ��һ����ͨ�������1.0�Ŀ�������1.01�ķ��� �������Ҷ�֮��������IJ�ѯ��ʵ�ֵģ� �������ǰ������ѯ������һ���ļ� 1.0_to_1.01.sql ��ȥ����ô�� �ǿ���ͨ��psql���������������������������1.0���ݿ���Ϊ"testdb"��

            % psql testdb -f 1.0_to_1.01.sql

    Ȼ��ִ������������Դ�������кͿ�������

    -- add builtin functions that are new to 1.01
    
    create function int4eqoid (int4, oid) returns bool as 'foo'
    language 'internal';
    create function oideqint4 (oid, int4) returns bool as 'foo'
    language 'internal';
    create function char2icregexeq (char2, text) returns bool as 'foo'
    language 'internal';
    create function char2icregexne (char2, text) returns bool as 'foo'
    language 'internal';
    create function char4icregexeq (char4, text) returns bool as 'foo'
    language 'internal';
    create function char4icregexne (char4, text) returns bool as 'foo'
    language 'internal';
    create function char8icregexeq (char8, text) returns bool as 'foo'
    language 'internal';
    create function char8icregexne (char8, text) returns bool as 'foo'
    language 'internal';
    create function char16icregexeq (char16, text) returns bool as 'foo'
    language 'internal';
    create function char16icregexne (char16, text) returns bool as 'foo'
    language 'internal';
    create function texticregexeq (text, text) returns bool as 'foo'
    language 'internal';
    create function texticregexne (text, text) returns bool as 'foo'
    language 'internal';
    
    -- add builtin functions that are new to 1.01
    
    create operator = (leftarg = int4, rightarg = oid, procedure = int4eqoid);
    create operator = (leftarg = oid, rightarg = int4, procedure = oideqint4);
    create operator ~* (leftarg = char2, rightarg = text, procedure = char2icregexeq);
    create operator !~* (leftarg = char2, rightarg = text, procedure = char2icregexne);
    create operator ~* (leftarg = char4, rightarg = text, procedure = char4icregexeq);
    create operator !~* (leftarg = char4, rightarg = text, procedure = char4icregexne);
    create operator ~* (leftarg = char8, rightarg = text, procedure = char8icregexeq);
    create operator !~* (leftarg = char8, rightarg = text, procedure = char8icregexne);
    create operator ~* (leftarg = char16, rightarg = text, procedure = char16icregexeq);
    create operator !~* (leftarg = char16, rightarg = text, procedure = char16icregexne);
    create operator ~* (leftarg = text, rightarg = text, procedure = texticregexeq);
    create operator !~* (leftarg = text, rightarg = text, procedure = texticregexne);

E.50.2. �޸��б�

�������ԣ�
 * 1.01 is backwards compatible with 1.0 database provided the user
   follow the steps outlined in the MIGRATION_from_1.0_to_1.01 file.
   If those steps are not taken, 1.01 is not compatible with 1.0 database.

��ǿ:
 * added PQdisplayTuples() to libpq and changed monitor and psql to use it
 * added NeXT port (requires SysVIPC implementation)
 * added CAST .. AS ... syntax
 * added ASC and DESC keywords
 * added 'internal' as a possible language for CREATE FUNCTION
   internal functions are C functions which have been statically linked
   into the postgres backend.
 * a new type "name" has been added for system identifiers (table names,
   attribute names, etc.)  This replaces the old char16 type.   The
   of name is set by the NAMEDATALEN #define in src/Makefile.global
 * a readable reference manual that describes the query language.
 * added host-based access control.  A configuration file ($PGDATA/pg_hba)
   is used to hold the configuration data.  If host-based access control
   is not desired, comment out HBA=1 in src/Makefile.global.
 * changed regex handling to be uniform use of Henry Spencer's regex code
   regardless of platform.  The regex code is included in the distribution
 * added functions and operators for case-insensitive regular expressions. 
   The operators are ~* and !~*.
 * pg_dump uses COPY instead of SELECT loop for better performance

�����޲���
 * fixed an optimizer bug that was causing core dumps when 
   functions calls were used in comparisons in the WHERE clause
 * changed all uses of getuid to geteuid so that effective uids are used
 * psql now returns non-zero status on errors when using -c
 * applied public patches 1-14