* doc/FAQ_MSWIN: Update to be consistent with software -- mainly change
comment from lack of Cygwin UNIX domain socket support and to list of
current Cygwin UNIX domain socket issues.
* src/include/config.h.in: Enable UNIX domain sockets for Cygwin.
* src/include/port/win.h: Disable UNIX domain sockets for Cygwin b20.1.
* src/test/regress/pg_regress.sh: Use UNIX domain sockets for Cygwin
instead of TCP/IP.
Chapter 10. PL/pgSQL - SQL Procedural Language (c40914117.htm)
Statements
...
(resulting in a PL/pgSQL internal SELECT).
But there are cases where someone isn't interested int
-----------------------------------------(have to be)-->
But there are cases where someone isn't interested in
the functions result.
RAISE level format''
--(have to be)-->
RAISE level 'format'
find it ambiguous. I propose something along the lines of the
following patch to clarify it. Thanks.
(Alternatively, perhaps the code could maintain a count of nested
calls to SPI_connect/SPI_finish. But I didn't try to write that
patch.)
Ian Lance Taylor
and revert documentation to describe the existing INHERITS clause
instead, per recent discussion in pghackers. Also fix implementation
of SQL_inheritance SET variable: it is not cool to look at this var
during the initial parsing phase, only during parse_analyze(). See
recent bug report concerning misinterpretation of date constants just
after a SET TIMEZONE command. gram.y really has to be an invariant
transformation of the query string to a raw parsetree; anything that
can vary with time must be done during parse analysis.
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.311
diff -r1.311 TODO
3c3
< Last updated: Tue Jan 2 21:23:11 EST 2001
---
> Last updated: Wed Jan 3 01:56:41 EST 2001
10c10
< A dash(-) marks changes that will appear in the upcoming 7.1 release.
---
> A dash (-) marks changes that will appear in the upcoming 7.1 release.
23c23
< * -Creating index of TIMESTAMP & RELTIME fails, or rename to DATETIME(Thomas)
---
> * -Creating index of TIMESTAMP & RELTIME fails, or rename to DATETIME (Thomas)
35c35
< * -Views containing aggregates sometimes fail(Jan)
---
> * -Views containing aggregates sometimes fail (Jan)
37,38c37,38
< duplicates(inherit)
< * -Disallow LOCK on view(Mark Hollomon)
---
> duplicates (inherit)
> * -Disallow LOCK on view (Mark Hollomon)
58,60c58,60
< * -Add OUTER joins, left and right[outer](Tom, Thomas)
< * -Allow long tuples by chaining or auto-storing outside db (TOAST)(Jan)
< * Fix memory leak for expressions[memory](Tom?)
---
> * -Add OUTER joins, left and right[outer] (Tom, Thomas)
> * -Allow long tuples by chaining or auto-storing outside db (TOAST) (Jan)
> * Fix memory leak for expressions[memory] (Tom?)
70c70
< * Allow row re-use without vacuum(Vadim)
---
> * Allow row re-use without vacuum (Vadim)
74c74
< * More access control over who can create tables and use locks(Karel)
---
> * More access control over who can create tables and use locks (Karel)
92c92
< o -Fix large object mapping scheme, own typeid or reltype(Peter)
---
> o -Fix large object mapping scheme, own typeid or reltype (Peter)
97c97
< * Fix improper masking of some inet/cidr types [cidr]
---
> * -Fix improper masking of some inet/cidr types [cidr]
113c113
< * Get BIT type working
---
> * -Get BIT type working
119c119
< * Update macaddr manufacturer numbers, or remove the function macaddr_manuf()
---
> * -Update macaddr manufacturer numbers, or remove the function macaddr_manuf()
147c147
< * -Add ALTER TABLE ALTER COLUMN feature(Peter E)
---
> * -Add ALTER TABLE ALTER COLUMN feature (Peter E)
157c157
< * Auto-destroy sequence on DROP of table with SERIAL(Ryan)
---
> * Auto-destroy sequence on DROP of table with SERIAL (Ryan)
166a167
> * Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
172d172
< * Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
176c176
< * Make NULL's come out at the beginning or end depending on the
---
> * Make NULL's come out at the beginning or end depending on the
220c220
< * Certain indexes will not shrink, i.e. oid indexes with many inserts(Vadim)
---
> * Certain indexes will not shrink, i.e. oid indexes with many inserts (Vadim)
226c226
< with after-row images(Vadim) [logging](Vadim)
---
> with after-row images (Vadim) [logging]
232c232
< * -Redesign the function call interface to handle NULLs better[function](Tom)
---
> * -Redesign the function call interface to handle NULLs better[function] (Tom)
239c239
< * Encrpyt passwords in pg_shadow table using MD5(Vince)
---
> * Encrpyt passwords in pg_shadow table using MD5 (Vince)
298a299,300
> * Create a transaction processor to aid in persistent connections and
> connection pooling
307c309
< * Remove SET KSQO option now that OR processing is improved(Tom)
---
> * Remove SET KSQO option now that OR processing is improved (Tom)
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.310
diff -r1.310 TODO
3c3
< Last updated: Wed Dec 27 00:44:44 EST 2000
---
> Last updated: Tue Jan 2 21:23:11 EST 2001
310a311
> * Allow libedit to be used in place of libreadline
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.309
diff -r1.309 TODO
3c3
< Last updated: Sat Dec 23 09:48:47 EST 2000
---
> Last updated: Wed Dec 27 00:44:44 EST 2000
60a61,70
> * Add replication of distributed databases [replication]
> o automatic fallover
> o load balancing
> o master/slave replication
> o multi-master replication
> o partition data across servers
> o sample implementation in contrib/rserv
> o queries across databases or servers (two-phase commit)
> * Point-in-time data recovery using backup and write-ahead log
> * Allow row re-use without vacuum(Vadim)
112c122
< * Make file in/out interface to TOAST columns
---
> * Make binary/file in/out interface for TOAST columns
122a133
> * Automatically create rules on views so they are updateable, per SQL92
173c184
< * allow psql \d to show temporary table schema
---
> * allow psql \d to show temporary table structure
195d205
< * Add replication of distributed databases [replication]
200a211,212
> * Incremental backups
> * Allow SQL92 schemas
205d216
< * Allow row re-use without vacuum(Vadim)
229a241
> * Allow Java server-side programming
278a291
> * Automatically keep clustering on a table
329d341
< 5~
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.308
diff -r1.308 TODO
3c3
< Last updated: Thu Dec 21 14:45:00 EST 2000
---
> Last updated: Sat Dec 23 09:48:47 EST 2000
72a73
> * Remove unused files during database vacuum or postmaster startup
recommendation from Paul Vixie. Add a new abbrev() function to produce
abbreviated format as text. No forced initdb, but new function is not
available unless you do an initdb or add the pg_proc row manually.
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.307
diff -r1.307 TODO
3c3
< Last updated: Thu Dec 21 14:12:04 EST 2000
---
> Last updated: Thu Dec 21 14:45:00 EST 2000
32d31
< * Prevent BETWEEN from using duplicate nodes
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.306
diff -r1.306 TODO
3c3
< Last updated: Fri Dec 15 17:44:57 EST 2000
---
> Last updated: Thu Dec 21 14:12:04 EST 2000
31a32
> * Prevent BETWEEN from using duplicate nodes
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.305
diff -r1.305 TODO
3c3
< Last updated: Fri Dec 15 17:40:22 EST 2000
---
> Last updated: Fri Dec 15 17:44:57 EST 2000
312a313
> * Mark is Mark Hollomon <mhh@mindspring.com>
326a328
> 5~
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.304
diff -r1.304 TODO
3c3
< Last updated: Fri Dec 15 17:03:28 EST 2000
---
> Last updated: Fri Dec 15 17:40:22 EST 2000
318a319
> * Ross is Ross J. Reedstrom <reedstrm@wallace.ece.rice.edu>
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.303
diff -r1.303 TODO
3c3
< Last updated: Fri Dec 15 16:46:43 EST 2000
---
> Last updated: Fri Dec 15 17:03:28 EST 2000
319a320
> * Stephan is Stephan Szabo <sszabo@megazone23.bigpanda.com>
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.302
diff -r1.302 TODO
3c3
< Last updated: Tue Dec 12 23:01:53 EST 2000
---
> Last updated: Fri Dec 15 16:46:43 EST 2000
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.301
diff -r1.301 TODO
306d305
< * Bryan is Bryan Henderson<bryanh@giraffe.netgate.net>
308d306
< * David is David Hartwig <daveh@insightdist.com>
311c309,310
< * Hiroshi is Hiroshi Inoue<Inoue@tpf.co.jp>
---
> * Hiroshi is Hiroshi Inoue <Inoue@tpf.co.jp>
> * Karel is Karel Zak <zakkr@zf.jcu.cz>
314c313
< * Massimo Dal Zotto <dz@cs.unitn.it>
---
> * Massimo is Massimo Dal Zotto <dz@cs.unitn.it>
318c317
< * Philip Warner <pjw@rhyme.com.au>
---
> * Philip is Philip Warner <pjw@rhyme.com.au>
321d319
< * Stefan Simkovics <ssimkovi@rainbow.studorg.tuwien.ac.at>
326c324
< * Vadim is "Vadim B. Mikheev" <vadim4o@email.com>
---
> * Vadim is Vadim B. Mikheev <vadim4o@email.com>
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.300
diff -r1.300 TODO
3c3
< Last updated: Tue Dec 12 23:01:04 EST 2000
---
> Last updated: Tue Dec 12 23:01:53 EST 2000
21d20
< * test to show diffs for TODO changes
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.299
diff -r1.299 TODO
3c3
< Last updated: Tue Dec 12 15:27:50 EST 2000
---
> Last updated: Tue Dec 12 23:01:04 EST 2000
20a21
> * test to show diffs for TODO changes
the first paragraph:
As an example, say we wish to find all the records that
are in the temperature range of other records. In
effect, we need to compare the temp_lo and temp_hi
attributes of each EMP instance to the temp_lo and
temp_hi attributes of all other EMP instances.
I believe that EMP should read WEATHER, as the example query that
follows joins WEATHER to itself.
EMP is often used in Oracle examples.
Regards,
Graham
Other RULE cleanups
ISO-compliant UNION/INTERSECT/EXCEPT. Revise discussion of rule
rewriter to reflect new subselect-in-FROM implementation of views.
Miscellaneous other cleanups.
line 1324:
"left-hand" should be "right-hand"
BTW: new document looks very good!
And the new configure/build process seems much better then before!
Thanks!
Laser
value greater than one. The behavior this sought to disallow doesn't
seem any less confusing than the other behaviors of cached sequences.
Improve wording of some error messages, too.
Update documentation accordingly. Also add an explanation that
aborted transactions do not roll back their nextval() calls; this
seems to be a FAQ, so it ought to be mentioned here...
IPC key assignment will now work correctly even when multiple postmasters
are using same logical port number (which is possible given -k switch).
There is only one shared-mem segment per postmaster now, not 3.
Rip out broken code for non-TAS case in bufmgr and xlog, substitute a
complete S_LOCK emulation using semaphores in spin.c. TAS and non-TAS
logic is now exactly the same.
When deadlock is detected, "Deadlock detected" is now the elog(ERROR)
message, rather than a NOTICE that comes out before an unhelpful ERROR.
re-adopt these settings at every postmaster or standalone-backend startup.
This should fix problems with indexes becoming corrupt due to failure to
provide consistent locale environment for postmaster at all times. Also,
refuse to start up a non-locale-enabled compilation in a database originally
initdb'd with a non-C locale. Suppress LIKE index optimization if locale
is not "C" or "POSIX" (are there any other locales where it's safe?).
Issue NOTICE during initdb if selected locale disables LIKE optimization.
it fixing Y,YY,YYY,YYYY conversion, the docs and regress tests update
are included too.
During the patch testing I found small bug in miscadmin.h in
convertstr() declaration. Here it's fixed too.
Thanks
Karel
Make version.sgml the central place for updating version numbers in the
documentation. Document titles now contain the version number of the
release they belong to.
filelist.sgml is the central (and only) place to declare system entities
(i.e., sgml files). No longer a need to declare them in each document
header.
There is no longer any need to maintain duplicate chapter lists in
postgres.sgml and user/admin/etc.sgml, everything is build from the same
sources. Some parameter entities allow for different text to be included
when the integrated or a single doc set is generated, which eliminates the
problems that had caused this to fail in the past.
in pghackers list. Support for oldstyle internal functions is gone
(no longer needed, since conversion is complete) and pg_language entry
'internal' now implies newstyle call convention. pg_language entry
'newC' is gone; both old and newstyle dynamically loaded C functions
are now called language 'C'. A newstyle function must be identified
by an associated info routine. See src/backend/utils/fmgr/README.
maintained for each cache entry. A cache entry will not be freed until
the matching ReleaseSysCache call has been executed. This eliminates
worries about cache entries getting dropped while still in use. See
my posting to pg-hackers of even date for more info.
<entry>varchar(n)</entry>
<entry>(4+x) bytes</entry>
should be
<entry>varchar(n)</entry>
<entry>(4+n) bytes</entry>
or
<entry>varchar(x)</entry>
<entry>(4+x) bytes</entry>
Regards
Laser Henry
cloned, rather than always cloning template1. Modify initdb to generate
two identical databases rather than one, template0 and template1.
Connections to template0 are disallowed, so that it will always remain
in its virgin as-initdb'd state. pg_dumpall now dumps databases with
restore commands that say CREATE DATABASE foo WITH TEMPLATE = template0.
This allows proper behavior when there is user-added data in template1.
initdb forced!
adds the facility to set the program name used in syslog.
(this includes the other ones).
One gotcha, the parser doesn't like special characters in strings.
For example, i tried to use pg-test, and if failed the parse coming
from the postgresql.conf file.
I don't think it's a showstopper..
Larry Rosenman
hosting product, on both shared and dedicated machines. We currently
offer Oracle and MySQL, and it would be a nice middle-ground.
However, as shipped, PostgreSQL lacks the following features we need
that MySQL has:
1. The ability to listen only on a particular IP address. Each
hosting customer has their own IP address, on which all of their
servers (http, ftp, real media, etc.) run.
2. The ability to place the Unix-domain socket in a mode 700 directory.
This allows us to automatically create an empty database, with an
empty DBA password, for new or upgrading customers without having
to interactively set a DBA password and communicate it to (or from)
the customer. This in turn cuts down our install and upgrade times.
3. The ability to connect to the Unix-domain socket from within a
change-rooted environment. We run CGI programs chrooted to the
user's home directory, which is another reason why we need to be
able to specify where the Unix-domain socket is, instead of /tmp.
4. The ability to, if run as root, open a pid file in /var/run as
root, and then setuid to the desired user. (mysqld -u can almost
do this; I had to patch it, too).
The patch below fixes problem 1-3. I plan to address #4, also, but
haven't done so yet. These diffs are big enough that they should give
the PG development team something to think about in the meantime :-)
Also, I'm about to leave for 2 weeks' vacation, so I thought I'd get
out what I have, which works (for the problems it tackles), now.
With these changes, we can set up and run PostgreSQL with scripts the
same way we can with apache or proftpd or mysql.
In summary, this patch makes the following enhancements:
1. Adds an environment variable PGUNIXSOCKET, analogous to MYSQL_UNIX_PORT,
and command line options -k --unix-socket to the relevant programs.
2. Adds a -h option to postmaster to set the hostname or IP address to
listen on instead of the default INADDR_ANY.
3. Extends some library interfaces to support the above.
4. Fixes a few memory leaks in PQconnectdb().
The default behavior is unchanged from stock 7.0.2; if you don't use
any of these new features, they don't change the operation.
David J. MacKenzie
functions, per recent discussions on pghackers. For now, I have called
the verbose-display formatting function text(), but will reconsider if
enough people object.
initdb forced.
that installs into a different path than is configured.
With this applied both postmaster and the shared libs are location
independent
for AIX 4.2 and up.
Thanks
Andreas
kibitzing from Tom Lane. Large objects are now all stored in a single
system relation "pg_largeobject" --- no more xinv or xinx files, no more
relkind 'l'. This should offer substantial performance improvement for
large numbers of LOs, since there won't be directory bloat anymore.
It'll also fix problems like running out of locktable space when you
access thousands of LOs in one transaction.
Also clean up cruft in read/write routines. LOs with "holes" in them
(never-written byte ranges) now work just like Unix files with holes do:
a hole reads as zeroes but doesn't occupy storage space.
INITDB forced!
as well allow DROP multiple INDEX, RULE, TYPE as well. Add missing
CommandCounterIncrement to DROP loop, which could cause trouble otherwise
with multiple DROP of items affecting same catalog entries. Try to
bring a little consistency to various error messages using 'does not exist',
'nonexistent', etc --- I standardized on 'does not exist' since that's
what the vast majority of the existing uses seem to be.
time zones with embedded numerals (parsing to a meaninless "ZP 4"
instead).
Support "SAT" as an Australian time zone if USE_AUSTRALIAN_RULES
is defined.
Fix units in exposition on Julian calendar (from Lazer Henry I think...)
This patch forces the use of 'DROP VIEW' to destroy views.
It also changes the syntax of DROP VIEW to
DROP VIEW v1, v2, ...
to match the syntax of DROP TABLE.
Some error messages were changed so this patch also includes changes to the
appropriate expected/*.out files.
Doc changes for 'DROP TABLE" and 'DROP VIEW' are included.
--
Mark Hollomon
* doc/src/sgml/installation.sgml: ditto.
* src/test/regress/README: Regenerate.
* doc/src/sgml/docguide.sgml: Explain how it was done. Explain how
INSTALL and HISTORY are (now) generated.
* doc/src/sgml/Makefile: Implement HISTORY generation to be analoguous
to INSTALL.
I hope I didn't mess the SGML up too bad, but somebody should definitly
look that over. I tried to steal as much as I could from around :-)
This patch updates:
* Installation instructions (paragraph on how to compile with openssl)
* Documentation of pg_hba.conf (added "hostssl" record docs)
* Libpq documentation (added connection option, documentation of
PQgetssl() function)
* Add section on SSL to "Server Runtime Environment"
If you beleive any particular area needs more attention, please let me know.
//Magnus
have already modified "next_insert()" in 7.0-ecpglib. However
in the meaning of speed-up, the patch will be needed.
--
Regards,
SAKAIDA Masaaki -- Osaka, Japan
Update the installation instructions (formerly misnamed "FAQ"), add configure
checks for some headers rather than having users copy stubs manually (ugh!).
Use Autoconf check for exe extension. This also avoids inheriting the value
of $(X) from the environment.
- rename ichar() to chr() (discussed with Tom)
- add docs for oracle compatible routines:
btrim()
ascii()
chr()
repeat()
- fix bug with timezone in to_char()
- all to_char() variants return NULL instead textin("")
if it's needful.
The contrib/odbc is without changes and contains same routines as main
tree ... because I not sure how plans are Thomas with this :-)
Karel
---------------------------------------------------------------------------
This effectively one line patch should fix the fact that
foreign key definitions in create table were erroring if
a primary key was defined. I was using the columns
list to get the columns of the table for comparison, but
it got reused as a temporary list inside the primary key
stuff.
Stephan Szabo
There is still no effective difference but it will kick in once setuid
functions exist (not included here). Make old getpgusername() alias for
current_user.
DESTDIR=/else/where' and prepends the value of DESTDIR to the full
installation paths (e.g., /else/where/usr/local/pgsql/bin). This allows
users to install the package into a location different from the one that
was configured and hard-coded into various scripts, e.g., for creating
binary packages.
DESTDIR is in many cases preferrable over `make install
prefix=/else/where' because
a) `prefix' affects the path that is hard-coded into the files, which can
lead to a `make install prefix=xxx' (as done by the regression test
driver) corrupting the files in the source tree with wrong paths.
b) it doesn't work at all if a directory was overridden to not depend on
`prefix', e.g., --sysconfdir=/etc.
(Updating the regression test driver to use DESTDIR is a separate
undertaking.)
See also autoconf@gnu.org, From: Akim Demaille <akim@epita.fr>, Date: 08
Sep 2000 12:48:59 +0200, Message-ID:
<mv4em2vb1lw.fsf@nostromo.lrde.epita.fr>, Subject: Re: HTML format
documentation.