1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
5 >Postgres95 Release 0.03</TITLE
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
10 HREF="mailto:pgsql-docs@postgresql.org"><LINK
12 TITLE="PostgreSQL 7.4.1 Documentation"
13 HREF="index.html"><LINK
16 HREF="release.html"><LINK
19 HREF="release-1-0.html"><LINK
21 TITLE="Postgres95 Release 0.02"
22 HREF="release-0-02.html"><LINK
25 HREF="stylesheet.css"><META
27 CONTENT="2003-12-22T03:48:47"></HEAD
33 SUMMARY="Header navigation table"
43 >PostgreSQL 7.4.1 Documentation</TH
51 HREF="release-1-0.html"
67 >Appendix E. Release Notes</TD
81 HREF="release-0-02.html"
121 CLASS="PROGRAMLISTING"
122 >Incompatible changes:
123 * BETA-0.3 IS INCOMPATIBLE WITH DATABASES CREATED WITH PREVIOUS VERSIONS
124 (due to system catalog changes and indexing structure changes).
125 * double-quote (") is deprecated as a quoting character for string literals;
126 you need to convert them to single quotes (').
127 * name of aggregates (eg. int4sum) are renamed in accordance with the
128 SQL standard (eg. sum).
129 * CHANGE ACL syntax is replaced by GRANT/REVOKE syntax.
130 * float literals (eg. 3.14) are now of type float4 (instead of float8 in
131 previous releases); you might have to do typecasting if you depend on it
132 being of type float8. If you neglect to do the typecasting and you assign
133 a float literal to a field of type float8, you may get incorrect values
135 * LIBPQ has been totally revamped so that frontend applications
136 can connect to multiple backends
137 * the usesysid field in pg_user has been changed from int2 to int4 to
138 allow wider range of Unix user ids.
139 * the netbsd/freebsd/bsd o/s ports have been consolidated into a
140 single BSD44_derived port. (thanks to Alistair Crooks)
142 SQL standard-compliance (the following details changes that makes postgres95
143 more compliant to the SQL-92 standard):
144 * the following SQL types are now built-in: smallint, int(eger), float, real,
145 char(N), varchar(N), date and time.
147 The following are aliases to existing postgres types:
149 integer, int -> int4
150 float, real -> float4
151 char(N) and varchar(N) are implemented as truncated text types. In
152 addition, char(N) does blank-padding.
153 * single-quote (') is used for quoting string literals; '' (in addition to
154 \') is supported as means of inserting a single quote in a string
155 * SQL standard aggregate names (MAX, MIN, AVG, SUM, COUNT) are used
156 (Also, aggregates can now be overloaded, i.e. you can define your
157 own MAX aggregate to take in a user-defined type.)
158 * CHANGE ACL removed. GRANT/REVOKE syntax added.
159 - Privileges can be given to a group using the "GROUP" key word.
161 GRANT SELECT ON foobar TO GROUP my_group;
162 The key word 'PUBLIC' is also supported to mean all users.
164 Privileges can only be granted or revoked to one user or group
167 "WITH GRANT OPTION" is not supported. Only class owners can change
169 - The default access control is to to grant users readonly access.
170 You must explicitly grant insert/update access to users. To change
171 this, modify the line in
172 src/backend/utils/acl.h
173 that defines ACL_WORLD_DEFAULT
176 * the bug where aggregates of empty tables were not run has been fixed. Now,
177 aggregates run on empty tables will return the initial conditions of the
178 aggregates. Thus, COUNT of an empty table will now properly return 0.
179 MAX/MIN of an empty table will return a row of value NULL.
180 * allow the use of \; inside the monitor
181 * the LISTEN/NOTIFY asynchronous notification mechanism now work
182 * NOTIFY in rule action bodies now work
183 * hash indexes work, and access methods in general should perform better.
184 creation of large btree indexes should be much faster. (thanks to Paul
187 Other changes and enhancements:
188 * addition of an EXPLAIN statement used for explaining the query execution
189 plan (eg. "EXPLAIN SELECT * FROM EMP" prints out the execution plan for
191 * WARN and NOTICE messages no longer have timestamps on them. To turn on
192 timestamps of error messages, uncomment the line in
193 src/backend/utils/elog.h:
194 /* define ELOG_TIMESTAMPS */
195 * On an access control violation, the message
196 "Either no such class or insufficient privilege"
197 will be given. This is the same message that is returned when
198 a class is not found. This dissuades non-privileged users from
199 guessing the existence of privileged classes.
200 * some additional system catalog changes have been made that are not
204 * The -oid option has been added to the "pg_result" tcl command.
205 pg_result -oid returns oid of the last row inserted. If the
206 last command was not an INSERT, then pg_result -oid returns "".
207 * the large object interface is available as pg_lo* tcl commands:
208 pg_lo_open, pg_lo_close, pg_lo_creat, etc.
210 Portability enhancements and New Ports:
211 * flex/lex problems have been cleared up. Now, you should be able to use
212 flex instead of lex on any platforms. We no longer make assumptions of
213 what lexer you use based on the platform you use.
214 * The Linux-ELF port is now supported. Various configuration have been
215 tested: The following configuration is known to work:
216 kernel 1.2.10, gcc 2.6.3, libc 4.7.2, flex 2.5.2, bison 1.24
217 with everything in ELF format,
220 * ipcclean added to the distribution
221 ipcclean usually does not need to be run, but if your backend crashes
222 and leaves shared memory segments hanging around, ipcclean will
223 clean them up for you.
226 * the user manual has been revised and libpq documentation added.</PRE
235 SUMMARY="Footer navigation table"
246 HREF="release-1-0.html"
264 HREF="release-0-02.html"