Update INSTALL, etc. for release 6.4. Update pgaccess to 0.88.
This commit is contained in:
parent
c9ac0ceb61
commit
690235fcdd
165
HISTORY
165
HISTORY
@ -1,3 +1,168 @@
|
||||
PostgreSQL 6.4 Tue Sep 1 21:18:17 EDT 1998
|
||||
=========================================================
|
||||
|
||||
A dump/restore is required for those wishing to migrate data from
|
||||
previous releases of PostgreSQL.
|
||||
|
||||
Bug Fixes
|
||||
---------
|
||||
Fix for a tiny memory leak in PQsetdb/PQfinish(Bryan)
|
||||
Remove char2-16 data types, use char/varchar(Darren)
|
||||
Pqfn not handles a NOTICE message(Anders)
|
||||
Short-term locks now retry locking at random times(David)
|
||||
Fix up "ISO-style" timespan decoding and encoding(Thomas)
|
||||
Fix problem with table drop after rollback of transaction(Vadim)
|
||||
Change error message and remove non-functional update message(Vadim)
|
||||
Fix for COPY array checking
|
||||
Fix for SELECT 1 UNION SELECT NULL
|
||||
Fix for buffer leaks in large object calls(Pascal)
|
||||
Change owner from oid to int4 type(Bruce)
|
||||
Fix a bug in the oracle compatibility functions btrim() ltrim() and rtrim()
|
||||
Fix for usernames longer than eight characters(Tom)
|
||||
Fix for shared invalidation cache overflow(Massimo)
|
||||
Prevent file descriptor leaks in failed COPY's(Bruce)
|
||||
|
||||
Enhancements
|
||||
------------
|
||||
Upgrade ECPG to 2.0, see src/interfaces/ecpc/ChangeLog(Michael)
|
||||
Show the index used in an explain(Zeugswetter)
|
||||
Multi-byte awareness of many data data types and functions(Tatsuo)
|
||||
New configure --with-mb option(Tatsuo)
|
||||
New initdb --pgencoding option(Tatsuo)
|
||||
New createdb -E multibyte option(Tatsuo)
|
||||
Select version(); now returns PostgreSQL version(Jeroen)
|
||||
Libpq now allows asynchronous clients(Tom)
|
||||
Allow cancel from client of backend query(Tom)
|
||||
Psql now cancels query with Control-C(Tom)
|
||||
Define "tz_hour" and "tz_minute" arguments to date_part()(Thomas)
|
||||
Add routines to convert between varchar and bpchar(Thomas)
|
||||
Add routines to allow sizing of varchar and bpchar into target columns(Thomas)
|
||||
Add bit flags to support timezonehour and minute in data retrieval(Thomas)
|
||||
Allow more variations on valid floating point numbers (e.g. ".1", "1e6")(Thomas)
|
||||
Fixes for unary minus parsing with leading spaces(Thomas)
|
||||
Implement TIMEZONE_HOUR, TIMEZONE_MINUTE per SQL92 specs(Thomas)
|
||||
Check for and properly ignore FOREIGN KEY column constraints(Thomas)
|
||||
Define USER as synonym for CURRENT_USER per SQL92 specs(Thomas)
|
||||
Enable HAVING clause but no fixes elsewhere yet.
|
||||
Make "char" type a synonym for "char(1)" (actually implemented as bpchar)(Thomas)
|
||||
Save string type if specified for DEFAULT clause handling(Thomas)
|
||||
Coerce operations involving different data types(Thomas)
|
||||
Allow some index use for columns of different types(Thomas)
|
||||
Add capabilities for automatic type conversion(Thomas)
|
||||
Cleanups for large objects, so file is truncated on open(Peter)
|
||||
Readline cleanups(Tom)
|
||||
Allow psql \f \ to make spaces as delimiter(Bruce)
|
||||
Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce)
|
||||
Msql compatibility library in /contrib(Aldrin)
|
||||
Remove the requirement that ORDER/GROUP BY clause identifiers be
|
||||
included in the target list(David)
|
||||
Convert columns to match columns in UNION clauses(Thomas)
|
||||
Remove fork()/exec() and only do fork()(Bruce)
|
||||
Jdbc cleanups(Peter)
|
||||
Show backend status on ps command line(only works on some platforms)(Bruce)
|
||||
Pg_hba.conf now has a sameuser option in the database field
|
||||
Make lo_unlink take oid param, not int4
|
||||
New DISABLE_COMPLEX_MACRO for compilers that can't handle our macros(Bruce)
|
||||
Libpgtcl now gets async notifies from libpq(Tom)
|
||||
New locale patch, see docs/README/locale(Oleg)
|
||||
Fix for pg_dump so CONSTRAINT and CHECK syntax is correct(ccb)
|
||||
New contrib/lo code for large object orphan removal(Peter)
|
||||
New psql command "SET CLIENT_ENCODING TO 'encoding'" for multi-bytes
|
||||
feature, see /doc/README.mb(Tatsuo)
|
||||
/contrib/noupdate code to revoke update permission on a column
|
||||
Libpq can now be compiled on win32(Magnus)
|
||||
Add PQsetdbLogin() in libpq
|
||||
Two styles we agreed upon for database descriptors(Thomas)
|
||||
New 8-byte integer type, checked by configure for OS support(Thomas)
|
||||
Surround table and column names with double-quotes(Thomas) in generated
|
||||
sql code to preserve case (SQL92 syntax)(Thomas)
|
||||
New libpqrequestCancel(Tom)
|
||||
PQreset() now works with passwords(Tom)
|
||||
Handle case of GROUP BY target list column number out of range(David)
|
||||
Allow UNION in subselects
|
||||
Add auto-size to screen to \d? commands(Bruce)
|
||||
Use UNION to show all \d? results in one query(Bruce)
|
||||
Add \d? field search feature(Bruce)
|
||||
Pg_dump issues fewer \connect requests(Tom)
|
||||
Document pg_dump -z flag in manual page(Tom)
|
||||
Add HAVING clause with full support for subselects and unions(Stephan)
|
||||
Full text indexing routines in contrib/fulltextindex(Marteen)
|
||||
Transaction ids now stored in shared memory(Vadim)
|
||||
New PGCLIENTENCODING when issuing COPY command(Tatsuo)
|
||||
Support for SQL92 syntax "SET NAMES"(Tatsuo)
|
||||
Support for LATIN2-5(Tatsuo)
|
||||
Add UNICODE regression test case(Tatsuo)
|
||||
Lock manager cleanup, new locking modes for LLL(Vadim)
|
||||
Allow index use with OR clauses(Bruce)
|
||||
Allows "SELECT NULL ORDER BY 1;"
|
||||
Explain VERBOSE prints the plan, and now pretty-prints the plan to
|
||||
the postmaster log file(Bruce)
|
||||
Add Indices display to \d command(Bruce)
|
||||
Allow GROUP BY on functions(David)
|
||||
New pg_class.relkind for large objects(Bruce)
|
||||
New way to send libpq NOTICE messages to a different location(Tom)
|
||||
New \w write command to psql(Bruce)
|
||||
New /contrib/findoidjoins scans oid columns to find join relationships(Bruce)
|
||||
Allow binary-compatible indices to be considered when checking for valid
|
||||
indices for restriction clauses containing a constant(Thomas)
|
||||
New ISBN/ISSN code in /contrib/isbn_issn
|
||||
Allow NOT LIKE, IN, NOT IN, BETWEEN, and NOT BETWEEN constraint(Thomas)
|
||||
New rewrite system fixes many problems with rules and views(Jan)
|
||||
* Rules on relations work
|
||||
* Event qualifications on insert/update/delete work
|
||||
* New OLD variable to reference CURRENT, CURRENT will be remove in future
|
||||
* Update rules can reference NEW and OLD in rule qualifications/actions
|
||||
* Insert/update/delete rules on views work
|
||||
* Multiple rule actions are now supported, surrounded by parentheses
|
||||
* Regular users can create views/rules on tables they have RULE permits
|
||||
* Rules and views inherit the permissions on the creator
|
||||
* No rules at the column level
|
||||
* No UPDATE NEW/OLD rules
|
||||
* New pg_rule and pg_view system views
|
||||
* Only a single action on SELECT rules
|
||||
* Total rewrite overhaul, perhaps for 6.5
|
||||
|
||||
System indexes are now multi-key(Bruce)
|
||||
Oidint2, oidint4, and oidname types are removed(Bruce)
|
||||
Use system cache for more system table lookups(Bruce)
|
||||
New backend programming language PL/pgSQL in backend/pl(Jan)
|
||||
New SERIAL data type, auto-creates sequence/index(Thomas)
|
||||
Enable assert checking without a recompile(Massimo)
|
||||
User lock enhancements(Massimo)
|
||||
New setval() command to set sequence value(Massimo)
|
||||
Auto-remove unix socket file on startup if no postmaster running(Massimo)
|
||||
Conditional trace package(Massimo)
|
||||
New UNLISTEN command(Massimo)
|
||||
Psql now compiles under win32 using win32.mak(Magnus)
|
||||
Lo_read no longer stores trailing NULL(Bruce)
|
||||
Identifiers are now truncated to 31 characters internally(Bruce)
|
||||
|
||||
Source Tree Changes
|
||||
-------------------
|
||||
/contrib cleanup(Jun)
|
||||
Inline some small functions called for every row(Bruce)
|
||||
Alpha/linux fixes
|
||||
Hp/UX cleanups(Tom)
|
||||
Multi-byte regression tests(Soonmyung.)
|
||||
Remove --disabled options from configure
|
||||
Define PGDOC to use POSTGRESDIR by default
|
||||
Make regression optional
|
||||
Remove extra braces code to pgindent(Bruce)
|
||||
Add bsdi shared library support(Bruce)
|
||||
New --without-CXX support configure option(Brook)
|
||||
New FAQ_CVS
|
||||
Update backend flowchart in tools/backend(Bruce)
|
||||
Change atttypmod from int16 to int32(Bruce, Tom)
|
||||
Getrusage() fix for platforms that do not have it(Tom)
|
||||
Add PGUSER to libpq man page
|
||||
Ns32k platform fixes(Phil Nelson)
|
||||
Sco 7/UnixWare 2.x fixes(Billy,others)
|
||||
Sparc/Solaris 2.5 fixes(Ryan)
|
||||
Pgbuiltin.3 is obsolete, move to doc files(Thomas)
|
||||
Even more documention(Thomas)
|
||||
|
||||
|
||||
|
||||
PostgreSQL 6.3.2 Tue Apr 7 16:53:16 EDT 1998
|
||||
=========================================================
|
||||
|
||||
|
25
INSTALL
25
INSTALL
@ -2,7 +2,7 @@ POSTGRESQL INSTALLATION INSTRUCTIONS
|
||||
Copyright (c) 1997 Regents of the University of California
|
||||
|
||||
This is file /usr/src/pgsql/INSTALL. It contains notes on how to install
|
||||
PostgreSQL v6.3.2. Up to date information on PostgreSQL may be found at
|
||||
PostgreSQL v6.4. Up to date information on PostgreSQL may be found at
|
||||
http://www.postgresql.org.
|
||||
|
||||
PostgreSQL is an RDBMS database server. It is not completely ANSI SQL
|
||||
@ -68,14 +68,11 @@ You should have at least 8 MB of memory and at least 45 MB of disk space
|
||||
to hold the source, binaries, and user databases. After installation
|
||||
you may reduce this to about 3 Mbytes plus space for user databases.
|
||||
|
||||
To those upgrading from PostgreSQL 6.3:
|
||||
---------------------------------------
|
||||
|
||||
A dump/restore is NOT required for those running 6.3. A
|
||||
'make distclean', 'make', and 'make install' is all that is required.
|
||||
This last step should be performed while the postmaster is not running.
|
||||
You should re-link any custom applications that use PostgreSQL libraries.
|
||||
To those upgrading from PostgreSQL 6.3.*:
|
||||
----------------------------------------
|
||||
|
||||
A dump/restore is required for those running 6.3.*. pg_dumpall can help
|
||||
with this task.
|
||||
|
||||
To those doing a fresh install or upgrading from previous releases of
|
||||
PostgreSQL:
|
||||
@ -118,7 +115,7 @@ PostgreSQL:
|
||||
|
||||
To check for disk space, use command "df -k".
|
||||
|
||||
4) Ftp file ftp://ftp.postgresql.org/pub/postgresql-6.3.2.tar.gz from the
|
||||
4) Ftp file ftp://ftp.postgresql.org/pub/postgresql-6.4.tar.gz from the
|
||||
Internet. Store it in your home directory.
|
||||
|
||||
5) Some platforms use flex. If your system uses flex then make sure
|
||||
@ -160,7 +157,7 @@ PostgreSQL:
|
||||
step. Type (with the gunzip line and the following line typed as one
|
||||
line):
|
||||
cd
|
||||
gunzip -c postgresql-6.3.2.tar.gz |
|
||||
gunzip -c postgresql-6.4.tar.gz |
|
||||
tar xvf - src/bin/pg_dump/pg_dumpall
|
||||
chmod a+x src/bin/pg_dump/pg_dumpall
|
||||
src/bin/pg_dump/pg_dumpall > db.out
|
||||
@ -226,7 +223,7 @@ PostgreSQL:
|
||||
|
||||
10) Unzip and untar the new source file. Type
|
||||
cd /usr/src/pgsql
|
||||
gunzip -c ~/postgresql-6.3.2.tar.gz | tar xvf -
|
||||
gunzip -c ~/postgresql-6.4.tar.gz | tar xvf -
|
||||
|
||||
11) Configure the source code for your system. It is this step at which
|
||||
you can specify your actual source path and installation paths for
|
||||
@ -433,7 +430,7 @@ PostgreSQL:
|
||||
PostgreSQL.
|
||||
|
||||
For a i686/Linux-ELF platform, no tests failed since this is the
|
||||
v6.3.2 regression testing reference platform.
|
||||
v6.4 regression testing reference platform.
|
||||
|
||||
For the SPARC/Linux-ELF platform, using the 970525 beta version of
|
||||
PostgreSQL v6.2 the following tests "failed":
|
||||
@ -553,7 +550,7 @@ PostgreSQL:
|
||||
rm -rf /usr/local/pgsql_6_0
|
||||
# Also delete old database directory tree if it is not in
|
||||
# /usr/local/pgsql_6_0/data
|
||||
rm ~/postgresql-6.3.2.tar.gz
|
||||
rm ~/postgresql-6.4.tar.gz
|
||||
|
||||
26) You will probably want to print out the documentation. Here is how
|
||||
you might do it if you have Ghostscript on your system and are
|
||||
@ -580,7 +577,7 @@ PostgreSQL:
|
||||
supported platforms. We therefore ask you to let us know if you did
|
||||
or did not get PostgreSQL to work on you system. Please send a
|
||||
mail message to pgsql-ports@postgresql.org telling us the following:
|
||||
- The version of PostgreSQL (6.3.2, 6.2.1, beta 970703, etc.).
|
||||
- The version of PostgreSQL (6.4, 6.3.2, beta 970703, etc.).
|
||||
- Your operating system (i.e. RedHat v4.0 Linux v2.0.26).
|
||||
- Your hardware (SPARC, i486, etc.).
|
||||
- Did you compile, install and run the regression tests cleanly?
|
||||
|
2
README
2
README
@ -2,7 +2,7 @@
|
||||
PostgreSQL Data Base Management System (formerly known as Postgres, then
|
||||
as Postgres95).
|
||||
|
||||
This directory contains the version 6.3.2 release of the PostgreSQL
|
||||
This directory contains the version 6.4 release of the PostgreSQL
|
||||
database server. The server is not ANSI SQL compliant, but it gets
|
||||
closer with every release. After you unzip and untar the distribution
|
||||
file, look at file INSTALL for the installation notes and file HISTORY
|
||||
|
490
doc/FAQ_Irix
490
doc/FAQ_Irix
@ -1,490 +0,0 @@
|
||||
======================================================
|
||||
Frequently Asked Questions (FAQ) for PostgreSQL >=V6.1
|
||||
IRIX Specific
|
||||
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
||||
======================================================
|
||||
last updated: Mon Mar 05 17:00:00 GMT 1998
|
||||
|
||||
current maintainer: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
|
||||
original author: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
|
||||
|
||||
|
||||
Changes in this version (* = modified, + = new, - = removed):
|
||||
*1.5) Can I install PostgreSQL (<V6.3) under Irix 6.x?
|
||||
+1.10) How do I install PostgreSQL V6.3 under Irix 6.x?
|
||||
|
||||
This file is divided approximately as follows:
|
||||
1.*) Installing PostgreSQL
|
||||
2.*) Uninstalling PostgreSQL
|
||||
3.*) Extending PostgreSQL
|
||||
|
||||
|
||||
Questions answered:
|
||||
1.1) What extra items do I need to install PostgreSQL under Irix?
|
||||
1.2) What changes do I need to make to src/Makefile.global?
|
||||
1.3) What are the references in X11_LIB to libsocket and libnsl in
|
||||
src/Makefile.global?
|
||||
1.4) Are there any other changes I should make?
|
||||
1.5) Can I install PostgreSQL (<V6.3) under Irix 6.x?
|
||||
1.6) The make fails with the following message:
|
||||
ld32: ERROR 4: Conflicting flag setting: -call_shared
|
||||
1.7) Why won't it link? (Problems with lorder)
|
||||
1.8) I have major problems with IRIX 6!
|
||||
1.9) Why does lex fail with PostgreSQL 6.2.1?
|
||||
1.10) How do I install PostgreSQL V6.3 under Irix 6.x?
|
||||
2.1) Why can't I move the executable files?
|
||||
3.1) How do I compile a C program to create a function for extending
|
||||
PostgreSQL
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 1: Installing PostgreSQL
|
||||
----------------------------------------------------------------------
|
||||
|
||||
1.1) What extra items do I need to install PostgreSQL under Irix?
|
||||
|
||||
You *must* have the following installed:
|
||||
a) Gnu make (installed as gmake)
|
||||
|
||||
You are recommended to install the following:
|
||||
a) GNU install (installed as ginstall)
|
||||
(This is part of the GNU fileutils package)
|
||||
|
||||
You may choose to install the following:
|
||||
a) GNU readline library (if you wish psql to have readline
|
||||
support).
|
||||
b) tcl/tk (if you wish to compile pgtclsh)
|
||||
|
||||
1.2) What changes do I need to make to src/Makefile.global or
|
||||
src/Makefile.custom?
|
||||
|
||||
The easiest way to do this is to use the customize script in
|
||||
the src directory.
|
||||
|
||||
You *must* set the following variables:
|
||||
PORTNAME= irix5
|
||||
|
||||
You will also need to change the following to match your own
|
||||
installation:
|
||||
POSTGRESDIR
|
||||
|
||||
If you switch on the USE_TCL option, you will need to set these:
|
||||
TCL_INCDIR=
|
||||
TCL_LIBDIR=
|
||||
TCL_LIB =
|
||||
TK_INCDIR=
|
||||
TK_LIBDIR=
|
||||
TK_LIB =
|
||||
|
||||
You may also make any other changes you need as documented in
|
||||
the INSTALL file and in Makefile.global
|
||||
|
||||
1.3) What are the references in X11_LIB to libsocket and libnsl in
|
||||
src/Makefile.global?
|
||||
|
||||
This was a problem in 1.08 (they are Sun Solaris specific).
|
||||
It is fixed in 1.09 and above.
|
||||
|
||||
1.4) Are there any other changes I should make?
|
||||
|
||||
If you have installed the GNU install program (ginstall), you
|
||||
should add the following line to src/Makefile.custom:
|
||||
CUSTOM_INSTALL=ginstall
|
||||
|
||||
For an explanation as to why this is a good idea, see Question 2.1
|
||||
Ginstall is part of the GNU fileutils package.
|
||||
|
||||
|
||||
1.5) Can I install PostgreSQL (<V6.3) under Irix 6.x?
|
||||
|
||||
Instructions for PostgreSQL V6.3 are answered in Question 1.10!
|
||||
|
||||
Irix 6.2-6.4 has a bug in ld which mishandles the addresses of
|
||||
static procedures when object files are assembled into
|
||||
larger object files using 'ld -r'. This bug has been reported
|
||||
to Silicon Graphics.
|
||||
|
||||
One option is to use the Gnu version of ld. Alternatively,
|
||||
the following patch should be applied as a workaround.
|
||||
(Supplied by Bob Bruccoleri <bruc@bms.com>)
|
||||
|
||||
*** ./backend/Makefile.orig Thu May 22 00:00:15 1997
|
||||
--- ./backend/Makefile Thu Jun 5 16:47:27 1997
|
||||
***************
|
||||
*** 54,60 ****
|
||||
all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
--- 54,64 ----
|
||||
all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! # $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
! -rm -f *.o
|
||||
! find . -name "*.o" -exec cp \{\} . \;
|
||||
! rm -f SUBSYS.o
|
||||
! $(CC) -o postgres *.o ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
|
||||
|
||||
|
||||
1.6) The make fails with the following message:
|
||||
ld32: ERROR 4: Conflicting flag setting: -call_shared
|
||||
|
||||
If gmake fails in .../src/backend while building obj/ACCESS.o
|
||||
with a message from ld32, you can work around this by using
|
||||
ld for the LD environment variable rather than cc.
|
||||
|
||||
The problem has been observed under Irix 5.3 when compiling both
|
||||
Postgres95-1.09 and PostgreSQL-6.2Beta6, but on some systems
|
||||
these appear to compile with no such problems.
|
||||
|
||||
Fix supplied by Brian Sanders (bsanders@netcom.com,
|
||||
brian@fresnelsoft.com)
|
||||
|
||||
|
||||
1.7) Why won't it link? (Problems with lorder)
|
||||
|
||||
According to the IRIX man pages, lorder is useless, but harmless
|
||||
under IRIX. However, it has caused problems for some people
|
||||
using both IRIX 6.2.
|
||||
|
||||
The solution is to add the following line to
|
||||
.../src/makefiles/Makefile.irix5
|
||||
|
||||
MK_NO_LORDER=true
|
||||
|
||||
|
||||
1.8) I have major problems with IRIX 6!
|
||||
|
||||
The following is quoted directly from Bob Bruccoleri <bruc@bms.com>
|
||||
|
||||
There is a really nasty loader bug in the compiler system (7.1)
|
||||
on Irix 6.x, and the error that Lasse Petersen is the result of it.
|
||||
Here is the original message. I don't know if all the changes have been
|
||||
folded into the current release.
|
||||
|
||||
Date: Fri, 06 Jun 1997 17:12:20 -0400 (EDT)
|
||||
From: bruc@bms.com (Robert Bruccoleri)
|
||||
Subject: [PORTS] Patches for Irix 6.4
|
||||
|
||||
I have worked out how to compile PostgreSQL on Irix 6.4 using the -n32 compiler
|
||||
mode and version 7.1 of the C compiler. (The n32 compiler use 32 bits addressing,
|
||||
but allows access to all the instructions in the MIPS4 instruction set.)
|
||||
There were several problems:
|
||||
|
||||
1) The ld command is not referenced as a macro in all the Makefiles. On
|
||||
this platform, you have to include -n32 on all the ld commands. Makefiles
|
||||
were changed as needed.
|
||||
|
||||
2) There is a bug in "ld" which mishandles the addresses of static procedures
|
||||
when object files are assembled into larger object files using "ld -r".
|
||||
Because of this, I put a hack into src/backend/Makefile to avoid all the
|
||||
SUBSYS.o files and just link all the objects. I have contacted SGI about the
|
||||
problem, and hopefully, it will be fixed in the near future.
|
||||
|
||||
3) Lots of warnings are generated from the compiler. Since the regression
|
||||
tests worked OK, I didn't attempt to fix them. If anyone wants the compilation
|
||||
log, please let me know, and I'll email it to you.
|
||||
|
||||
The version of postgresql was 970602. Here is Makefile.custom:
|
||||
|
||||
CUSTOM_COPT = -O2 -n32
|
||||
MK_NO_LORDER = 1
|
||||
LD = ld -n32
|
||||
CC += -n32
|
||||
|
||||
Here are the patches:
|
||||
|
||||
*** ./backend/access/Makefile.orig Sun Nov 10 00:00:15 1996
|
||||
- --- ./backend/access/Makefile Tue Jun 3 10:22:32 1997
|
||||
***************
|
||||
*** 8,13 ****
|
||||
- --- 8,16 ----
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
+ SRCDIR = ../..
|
||||
+ include ../../Makefile.global
|
||||
+
|
||||
OBJS = common/SUBSYS.o gist/SUBSYS.o hash/SUBSYS.o heap/SUBSYS.o \
|
||||
index/SUBSYS.o rtree/SUBSYS.o nbtree/SUBSYS.o transam/SUBSYS.o
|
||||
|
||||
|
||||
*** ./backend/bootstrap/Makefile.orig Fri Apr 18 06:00:23 1997
|
||||
- --- ./backend/bootstrap/Makefile Tue Jun 3 10:23:59 1997
|
||||
***************
|
||||
*** 38,44 ****
|
||||
all: SUBSYS.o
|
||||
|
||||
SUBSYS.o: $(OBJS)
|
||||
! ld -r -o SUBSYS.o $(OBJS)
|
||||
|
||||
# bootstrap.o's dependency on bootstrap_tokens.h is computed by the
|
||||
# make depend, but we state it here explicitly anyway because
|
||||
- --- 38,44 ----
|
||||
all: SUBSYS.o
|
||||
|
||||
SUBSYS.o: $(OBJS)
|
||||
! $(LD) -r -o SUBSYS.o $(OBJS)
|
||||
|
||||
# bootstrap.o's dependency on bootstrap_tokens.h is computed by the
|
||||
# make depend, but we state it here explicitly anyway because
|
||||
|
||||
*** ./backend/Makefile.orig Thu May 22 00:00:15 1997
|
||||
- --- ./backend/Makefile Thu Jun 5 16:47:27 1997
|
||||
***************
|
||||
*** 54,60 ****
|
||||
all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
- --- 54,64 ----
|
||||
all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! # $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
! -rm -f *.o
|
||||
! find . -name "*.o" -exec cp \{\} . \;
|
||||
! rm -f SUBSYS.o
|
||||
! $(CC) -o postgres *.o ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
***************
|
||||
*** 116,122 ****
|
||||
install: $(LIBDIR) $(BINDIR) $(HEADERDIR) postgres $(POSTGRES_IMP) fmgr.h\
|
||||
global1.bki.source local1_template1.bki.source \
|
||||
libpq/pg_hba.conf.sample optimizer/geqo/pg_geqo.sample
|
||||
!
|
||||
$(INSTALL) $(INSTL_EXE_OPTS) postgres $(BINDIR)/postgres
|
||||
ifeq ($(MAKE_EXPORTS), true)
|
||||
$(INSTALL) $(INSTLOPTS) $(POSTGRES_IMP) $(LIBDIR)/$(POSTGRES_IMP)
|
||||
- --- 120,126 ----
|
||||
install: $(LIBDIR) $(BINDIR) $(HEADERDIR) postgres $(POSTGRES_IMP) fmgr.h\
|
||||
global1.bki.source local1_template1.bki.source \
|
||||
libpq/pg_hba.conf.sample optimizer/geqo/pg_geqo.sample
|
||||
!
|
||||
$(INSTALL) $(INSTL_EXE_OPTS) postgres $(BINDIR)/postgres
|
||||
ifeq ($(MAKE_EXPORTS), true)
|
||||
$(INSTALL) $(INSTLOPTS) $(POSTGRES_IMP) $(LIBDIR)/$(POSTGRES_IMP)
|
||||
|
||||
*** ./backend/optimizer/Makefile.orig Wed Feb 19 12:00:34 1997
|
||||
- --- ./backend/optimizer/Makefile Tue Jun 3 10:39:47 1997
|
||||
***************
|
||||
*** 8,13 ****
|
||||
- --- 8,16 ----
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
+ SRCDIR= ../..
|
||||
+ include ../../Makefile.global
|
||||
+
|
||||
all: submake SUBSYS.o
|
||||
|
||||
OBJS = path/SUBSYS.o plan/SUBSYS.o prep/SUBSYS.o util/SUBSYS.o geqo/SUBSYS.o
|
||||
|
||||
*** ./backend/libpq/pqcomprim.c.orig Mon May 26 00:00:23 1997
|
||||
- --- ./backend/libpq/pqcomprim.c Fri Jun 6 16:02:24 1997
|
||||
***************
|
||||
*** 32,40 ****
|
||||
# define hton_l(n) (ntoh_l(n))
|
||||
# else /* BYTE_ORDER != BIG_ENDIAN */
|
||||
# if BYTE_ORDER == PDP_ENDIAN
|
||||
! # #error PDP_ENDIAN macros not written yet
|
||||
# else /* BYTE_ORDER != anything known */
|
||||
! # #error BYTE_ORDER not defined as anything understood
|
||||
# endif /* BYTE_ORDER == PDP_ENDIAN */
|
||||
# endif /* BYTE_ORDER == BIG_ENDIAN */
|
||||
#endif /* BYTE_ORDER == LITTLE_ENDIAN */
|
||||
- --- 32,40 ----
|
||||
# define hton_l(n) (ntoh_l(n))
|
||||
# else /* BYTE_ORDER != BIG_ENDIAN */
|
||||
# if BYTE_ORDER == PDP_ENDIAN
|
||||
! # error PDP_ENDIAN macros not written yet
|
||||
# else /* BYTE_ORDER != anything known */
|
||||
! # error BYTE_ORDER not defined as anything understood
|
||||
# endif /* BYTE_ORDER == PDP_ENDIAN */
|
||||
# endif /* BYTE_ORDER == BIG_ENDIAN */
|
||||
#endif /* BYTE_ORDER == LITTLE_ENDIAN */
|
||||
|
||||
*** ./backend/storage/Makefile.orig Sun Nov 10 00:01:06 1996
|
||||
- --- ./backend/storage/Makefile Tue Jun 3 10:41:29 1997
|
||||
***************
|
||||
*** 8,13 ****
|
||||
- --- 8,16 ----
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
+ SRCDIR= ../..
|
||||
+ include ../../Makefile.global
|
||||
+
|
||||
all: submake SUBSYS.o
|
||||
|
||||
OBJS = buffer/SUBSYS.o file/SUBSYS.o ipc/SUBSYS.o large_object/SUBSYS.o \
|
||||
|
||||
|
||||
|
||||
|
||||
1.9) Why does lex fail with PostgreSQL 6.2.1?
|
||||
|
||||
IRIX 5.3 lex has been reported to fail in
|
||||
postgresql-6.2.1/src/backend/parser with the error:
|
||||
|
||||
lex scan.l
|
||||
"scan.l":line 86: Error: Invalid request %x xc
|
||||
gmake[2]: *** [scan.c] Error 1
|
||||
|
||||
The answer is to use GNU flex 2.5.4 or later. Use the command
|
||||
flex --version
|
||||
to check you have a new enough version of flex
|
||||
|
||||
|
||||
1.10) How do I install PostgreSQL V6.3 under Irix 6.x?
|
||||
|
||||
Irix 6.2-6.4 has a bug in ld which mishandles the addresses of
|
||||
static procedures when object files are assembled into
|
||||
larger object files using 'ld -r'. This bug has been reported
|
||||
to Silicon Graphics.
|
||||
|
||||
Depending on your Irix installation you may also encounter
|
||||
2 other problems detailed below: Conflict in C standards,
|
||||
Conflict in library functions.
|
||||
|
||||
a) Solving the ld bug
|
||||
---------------------
|
||||
|
||||
One option is to use the Gnu version of ld. Alternatively,
|
||||
the following patch should be applied as a workaround.
|
||||
(Supplied by Bob Bruccoleri <bruc@bms.com> and modified for
|
||||
PostgreSQL V6.3 by Lasse Hiller Petersen <lassehp@imv.aau.dk>)
|
||||
|
||||
Apply the following patch:
|
||||
|
||||
*** ./backend/Makefile.orig Tue Mar 3 15:33:58 1998
|
||||
--- ./backend/Makefile Tue Mar 3 15:39:27 1998
|
||||
***************
|
||||
*** 63,69 ****
|
||||
global1.description
|
||||
local1_template1.description
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
--- 63,73 ----
|
||||
global1.description
|
||||
local1_template1.description
|
||||
|
||||
postgres: $(OBJS) ../utils/version.o
|
||||
! # $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
|
||||
! -rm -f *.o
|
||||
! find . -name "*.o" -exec cp \{\} . \;
|
||||
! rm -f SUBSYS.o
|
||||
! $(CC) -o postgres *.o ../utils/version.o $(LDFLAGS)
|
||||
|
||||
$(OBJS): $(DIRS:%=%.dir)
|
||||
|
||||
|
||||
|
||||
|
||||
Lasse configured with ./configure --enable-locale
|
||||
and modified Makefile.custom to contain:
|
||||
CC = cc -n32
|
||||
LD = ld -n32
|
||||
|
||||
He reports that the installation without -n32 works fine too,
|
||||
but the -n32 was required for compatibility with his Perl
|
||||
installation. His system was an Origin200 running IRIX64 v6.4.
|
||||
|
||||
|
||||
b) Conflict in C standards
|
||||
--------------------------
|
||||
|
||||
I have found that the following patch is also necessary in order
|
||||
to prevent a duplicate definition of a Union used for semaphores.
|
||||
Apply the following patch to:
|
||||
.../src/makefile/Makefile.irix5:
|
||||
|
||||
*** src/makefiles/Makefile.irix5.orig Thu Mar 5 16:59:58 1998
|
||||
--- src/makefiles/Makefile.irix5 Thu Mar 5 17:01:13 1998
|
||||
***************
|
||||
*** 6,9 ****
|
||||
%.so: %.o
|
||||
$(LD) -G -Bdynamic -shared -o $@ $<
|
||||
|
||||
!
|
||||
--- 6,9 ----
|
||||
%.so: %.o
|
||||
$(LD) -G -Bdynamic -shared -o $@ $<
|
||||
|
||||
! CFLAGS+= -U_NO_XOPEN4
|
||||
|
||||
i.e. the addition of the line:
|
||||
CFLAGS+= -U_NO_XOPEN4
|
||||
|
||||
This is needed to stop the semun union being redefined in
|
||||
/usr/include/sys/sem.h
|
||||
|
||||
c) Conflict in library functions
|
||||
--------------------------------
|
||||
|
||||
In addition, if you have the nsl and crypt libraries these will
|
||||
conflict with the required definitions. I think that libnsl.a
|
||||
may be the Netware socket library (or something similar). In
|
||||
any case, if you have these libraries, they will be added to
|
||||
Makefile.global and you will need to remove them.
|
||||
|
||||
Thus, you should edit .../src/Makefile.global. Goto (approximately)
|
||||
line 217 where LDFLAGS= is set and remove -lnsl and -lcrypt
|
||||
from this line.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 2: Deinstalling PostgreSQL
|
||||
----------------------------------------------------------------------
|
||||
|
||||
2.1) Why can't I move the executable files?
|
||||
|
||||
By default, the IRIX port uses the BSD compatible version of
|
||||
install from /usr/bin/X11. If you read the man page for this
|
||||
version of install, you will see that it is not meant for
|
||||
end-user use; it has the interesting side-effect of chowning
|
||||
files it installs to root.
|
||||
|
||||
You should still be able to delete the files as you (the
|
||||
postgres user) will own the directory in which they are
|
||||
stored.
|
||||
|
||||
The normal IRIX install program cannot be used easily as it
|
||||
takes its arguments in the reverse order. It is therefore
|
||||
recommended to use the GNU version of install (ginstall).
|
||||
See Question 1.4
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 3: Extending PostgreSQL
|
||||
----------------------------------------------------------------------
|
||||
3.1) How do I compile a C program to create a function for extending
|
||||
PostgreSQL
|
||||
|
||||
Here is a sample command line:
|
||||
|
||||
cc -I/usr/local/PostgreSQL/include/ -I/usr/local/PostgreSQL/src/backend
|
||||
-shared -o funcs.so funcs.c
|
||||
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Dr. Andrew C.R. Martin University College London
|
||||
EMAIL: (Work) martin@biochem.ucl.ac.uk (Home) andrew@stagleys.demon.co.uk
|
||||
URL: http://www.biochem.ucl.ac.uk/~martin
|
||||
Tel: (Work) +44(0)171 419 3890 (Home) +44(0)1372 275775
|
650
doc/FAQ_Linux
650
doc/FAQ_Linux
@ -1,650 +0,0 @@
|
||||
<PRE>
|
||||
=======================================================
|
||||
Frequently Asked Questions (FAQ) for PostgreSQL >= V6.1
|
||||
Linux Specific
|
||||
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
||||
=======================================================
|
||||
last updated: Wed Feb 18 13:00:00 GMT 1997
|
||||
|
||||
current maintainer: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
|
||||
original author: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
|
||||
|
||||
|
||||
Changes in this version (* = modified, + = new, - = removed):
|
||||
|
||||
+1.20) How can I optimise for 486 or pentium processors
|
||||
+3.10) Why do I get funny rounding results in some date/time arithmetic...
|
||||
|
||||
This file is divided approximately as follows:
|
||||
1.*) Installing PostgreSQL
|
||||
2.*) Compiling accessory programs
|
||||
3.*) Runtime Problems
|
||||
|
||||
|
||||
Questions answered:
|
||||
1.1) What changes do I need to make to src/Makefile.global or
|
||||
src/Makefile.custom and are there any other changes needed?
|
||||
1.2) Why do I get problems with missing libreadline?
|
||||
1.3) [REDHAT] Why do I get problems with missing libdl and dlfcn.h?
|
||||
1.4) [SLACKWARE 3.1] Why do I get problems with missing libdl and dlfcn.h?
|
||||
1.5) My compile of the backend dies complaining about the include file
|
||||
dlfcn.h missing
|
||||
1.6) GCC complains about an ignored option -fpic
|
||||
1.7) I get warnings of the form
|
||||
warning: cast from pointer to integer of different size
|
||||
1.8) [SuSE-Linux 4.2-4.4] Where is curses and termcap?
|
||||
1.9) Why do I get problems with ld.so?
|
||||
1.10) Why do I get `yy_flush_buffer undefined' errors?
|
||||
1.11) How do I compile PostgreSQL on an a.out system?
|
||||
1.12) Why does make fail with:
|
||||
yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y
|
||||
make: /usr/bin/make: cannot execute binary file
|
||||
1.13) What are the references in X11_LIB to libsocket and libnsl in
|
||||
src/Makefile.global?
|
||||
1.14) [DEBIAN] Where is libtermcap?
|
||||
1.15) [REDHAT] Can I get PostgreSQL as an RPM?
|
||||
1.16) While trying to compile a development version under Linux, compilation
|
||||
fails with a message like:
|
||||
In file included from /usr/include/sys/sem.h:8,
|
||||
from ipc.c:37:
|
||||
/usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
|
||||
....
|
||||
make: *** [ipc.o] Error 1
|
||||
1.17) When compiling postgres, gcc reports signal 11 and aborts.
|
||||
1.18) Can I install 6.1.1 under MkLinux?
|
||||
1.19) Why does make exit or crash?
|
||||
1.20) How can I optimise for 486 or pentium processors
|
||||
2.1) The linker fails to find libX11 when compiling pgtclsh
|
||||
3.1) I get an error reporting _fUnKy_POSTPORT_sTuFf_ undefined when
|
||||
running scripts like createuser
|
||||
3.2) I run postmaster and after that system says 'Bad system call(Core
|
||||
dumped)'
|
||||
3.3) When I try to start the Postmaster, why do I get an error of the form
|
||||
Failed Assertion("!(file != 0):(null)", File:
|
||||
"/usr/local/PostgreSQL/src/backend/storage/file/fd.c", Line: 257)
|
||||
!(file != 0) (0)
|
||||
initdb: could not create template database
|
||||
initdb: cleaning up.
|
||||
3.4) Why doesn't createuser work?
|
||||
3.5) Why do I get an error like:
|
||||
IpcMemoryCreate: memKey=155356396 , size=760632 ,
|
||||
permission=384IpcMemoryCreate: shmget(..., create, ...)
|
||||
failed: Invalid argument
|
||||
3.6) Why does psql fail with:
|
||||
psql: can't load library 'libpq.so.1'
|
||||
3.7) Other strange behaviour
|
||||
3.8) When PostgreSQL is running when the system is shutdown, Linux
|
||||
always fsck's the disk when rebooted.
|
||||
3.9) Why does Query 32 in the regression tests take so long?
|
||||
3.10) Why do I get funny rounding results in some date/time arithmetic,
|
||||
such as
|
||||
select '4 hours'::timespan;
|
||||
returning '3 hours 59 minutes 60 seconds'?
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 1: Compiling PostgreSQL
|
||||
----------------------------------------------------------------------
|
||||
|
||||
1.1) What changes do I need to make to src/Makefile.global or
|
||||
src/Makefile.custom and are there any other changes needed?
|
||||
|
||||
Changes to the makefiles are most easily made by running the
|
||||
customize shell script in the src directory which will write a
|
||||
Makefile.custom for you.
|
||||
|
||||
The only other change you may have to make is to replace
|
||||
Flex if you have version 2.5.3 which has a bug which generally
|
||||
manifests itself as createuser failing (See Question 3.4)
|
||||
|
||||
If you modify the makefiles by hand, you *must* set the
|
||||
following variable:
|
||||
PORTNAME= linux
|
||||
|
||||
You will also need to change the following to match your own
|
||||
installation:
|
||||
POSTGRESDIR
|
||||
|
||||
If you switch on the USE_TCL option, you will need to set these:
|
||||
TCL_INCDIR=
|
||||
TCL_LIBDIR=
|
||||
TCL_LIB=
|
||||
TK_INCDIR=
|
||||
TK_LIBDIR=
|
||||
TK_LIB=
|
||||
X11_INCDIR=
|
||||
X11_LIBDIR=
|
||||
X11_LIB=
|
||||
|
||||
On my Slackware3.0 system, these are:
|
||||
TCL_INCDIR= /usr/include/tcl
|
||||
TCL_LIBDIR= /usr/lib
|
||||
TCL_LIB= -ltcl
|
||||
TK_INCDIR= /usr/include/tcl
|
||||
TK_LIBDIR= /usr/lib
|
||||
TK_LIB= -ltk
|
||||
X11_INCDIR= /usr/include/X11
|
||||
X11_LIBDIR= /usr/X386/lib
|
||||
X11_LIB= -lX11
|
||||
|
||||
You may also make any other changes you need as documented in
|
||||
the INSTALL file and in Makefile.global
|
||||
|
||||
|
||||
1.2) Why do I get problems with missing libreadline?
|
||||
|
||||
Linux systems generally don't come with the GNU readline library
|
||||
installed. Either ensure you do not activate the readline options
|
||||
in src/Makefile.global or src/Makefile.custom or install the GNU
|
||||
readline library.
|
||||
|
||||
Note that Debian Linux (like FreeBSD) does come with readline
|
||||
installed.
|
||||
|
||||
1.3) [REDHAT] Why do I get problems with missing libdl and dlfcn.h?
|
||||
|
||||
This manifests itself as being unable to link with functions
|
||||
such as dlopen(), dlclose(), etc. during the last phase of the
|
||||
compilation.
|
||||
|
||||
The libdl library is used for dynamic linking of user-supplied
|
||||
functions at run-time. For some reason this library was missed out
|
||||
from the Redhat distribution. It seems that the latest Redhat 4.0
|
||||
(Colgate) fixes this.
|
||||
|
||||
RedHat now have a new ld.so RPM package on their FTP site.
|
||||
Simply grab:
|
||||
|
||||
ftp://ftp.redhat.com/pub/redhat/devel/i386/RedHat/RPMS/ld.so-1.7.14-4.i386.rpm
|
||||
|
||||
Install the RPM file in the usual way and off you go!
|
||||
|
||||
NOTE! You will have to re-run configure and do a make clean
|
||||
after installing the library and before recompiling.
|
||||
|
||||
There has been one report of a corrupted system resulting from
|
||||
programs accessing these libraries while updating them (not
|
||||
altogether surprising). Consequently it is a good idea to reboot
|
||||
the system before installing the new libraries and to
|
||||
have as little running as possible during this upgrade. Going
|
||||
into single-user mode is probably a good idea!
|
||||
|
||||
If you want to do it the hard way, you can obtain the library and the
|
||||
header file from:
|
||||
|
||||
ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ld.so-1.7.14.tar.gz
|
||||
|
||||
Alternatively, you may find precompiled binaries in
|
||||
distributions/debian/buzz/binary-i386/base/ld.so-1.7.14-4.deb
|
||||
on the same site, or follow the instructions given for question 1.2 for
|
||||
correcting the same error with early releases of Slackware 3.1.
|
||||
Don't use this method unless you know what you are doing!
|
||||
|
||||
|
||||
|
||||
1.4) [SLACKWARE 3.1] Why do I get problems with missing libdl and dlfcn.h?
|
||||
|
||||
This manifests itself as being unable to link with functions
|
||||
such as dlopen(), dlclose(), etc. during the last phase of the
|
||||
compilation.
|
||||
|
||||
See the answer to question 1.3. Slackware up to version 3.0 was
|
||||
supplied with this library and include file and they seem to be
|
||||
back in again in the latest versions of 3.1, but the early 3.1
|
||||
releases (before 9th September 1996) had them missing and many
|
||||
CD-ROM versions will have been pressed from the first 3.1 releases.
|
||||
|
||||
There has been one report of a corrupted system resulting from
|
||||
programs accessing these libraries while updating them (not
|
||||
altogether surprising). Consequently it is a good idea to reboot
|
||||
the system before installing the new libraries and to
|
||||
have as little running as possible during this upgrade. Going
|
||||
into single-user mode is probably a good idea!
|
||||
|
||||
The easiest fix is to obtain the file ldso.tgz from the a4 disk of
|
||||
a more recent Slackware distribution and unpack this file
|
||||
from the root (/) directory, then do
|
||||
|
||||
sh install/doinst.sh
|
||||
|
||||
to complete the installation. Follow this with
|
||||
|
||||
ldconfig
|
||||
|
||||
NOTE! You will have to re-run configure and do a make clean
|
||||
after installing the library and before recompiling.
|
||||
|
||||
If you want to install manually, you must first install the file
|
||||
dlfcn.h in /usr/include.
|
||||
|
||||
Second, install the file libdl.so.1.7.14 (or whatever the latest
|
||||
release is) in /lib, then do:
|
||||
|
||||
cd /lib
|
||||
ln -sf libdl.so.1.7.14 libdl.so.1
|
||||
ln -sf libdl.so.1 libdl.so
|
||||
|
||||
On some systems (depending on your GCC configuration) it may be
|
||||
necessary to do:
|
||||
|
||||
cd /usr/lib
|
||||
ln -sf /lib/libdl.so .
|
||||
|
||||
Finally
|
||||
|
||||
ldconfig
|
||||
|
||||
NOTE! You will have to re-run configure and do a make clean
|
||||
after installing the library and before recompiling.
|
||||
|
||||
|
||||
1.5) My compile of the backend dies complaining about the include file
|
||||
dlfcn.h missing
|
||||
|
||||
See the answer to question 1.3/1.4. Don't forget that if you are using
|
||||
an a.out system you must first have installed the dld package
|
||||
(which is not supplied with most a.out systems) to have dlfcn.h
|
||||
at all. See Question 1.11.
|
||||
|
||||
|
||||
1.6) GCC complains about an ignored option -fpic
|
||||
|
||||
Earlier versions of GCC accepted either -fpic or -fPIC.
|
||||
It appears that more recent versions (V2.7.2?) require -fPIC.
|
||||
If you are using an ELF version of Linux, this can safely be
|
||||
ignored as -fPIC is the default.
|
||||
|
||||
You can correct this by editing src/Makefile.global and
|
||||
changing CFLAGS_SL
|
||||
|
||||
|
||||
1.7) I get warnings of the form
|
||||
warning: cast from pointer to integer of different size
|
||||
|
||||
These were seen in earlier versions of Postgres95 and could
|
||||
safely be ignored. PostgreSQL V6.0 should compile with no warnings
|
||||
except those related to system header files (which can also
|
||||
be safely ignored).
|
||||
|
||||
1.8) [SuSE-Linux 4.2-4.4] Where is curses and termcap?
|
||||
|
||||
SuSE-Linux 4.2 has ncurses but not curses. 4.4 appears to have both.
|
||||
SuSE-Linux also has the termcap library is in /usr/lib/termcap
|
||||
instead of in /usr/lib.
|
||||
|
||||
PostgreSQL (up to V6.0)
|
||||
-----------------------
|
||||
Set the value of CURSES_LIB in src/Makefile.custom to -lncurses
|
||||
(or do this through the customize script).
|
||||
Add the following line to src/Makefile.custom:
|
||||
|
||||
LDADD_BE+= -L/usr/lib/termcap
|
||||
|
||||
You may need to edit src/bin/psql/Makefile and change:
|
||||
ifeq ($(PORTNAME), linux)
|
||||
LD_ADD+=
|
||||
to:
|
||||
ifeq ($(PORTNAME), linux)
|
||||
LD_ADD+= -ltermcap
|
||||
|
||||
PostgreSQL (V6.1)
|
||||
-----------------
|
||||
The configure script doesn't know to look in /usr/lib/termcap for
|
||||
the termcap library, so you should specify this as one of the
|
||||
library directories when asked for additional directories to
|
||||
search.
|
||||
|
||||
If this doesn't work (I don't have SuSE to verify that it does)
|
||||
then after running configure, you need to edit
|
||||
src/Makefile.global and add -ltermcap to the LDFLAGS line
|
||||
(after -lreadline). (Alternatively, you can modify
|
||||
src/Makefile.custom before running configure.)
|
||||
|
||||
Some versions of SuSE provide only ncurses, so you may need
|
||||
to force use of ncurses rather than curses by changing
|
||||
-lcurses to -lncurses. (Reported true for SuSE 5.1)
|
||||
|
||||
|
||||
1.9) Why do I get problems with ld.so?
|
||||
|
||||
If you get problems with ld.so, another library required under
|
||||
ELF for dynamic loading, then you have messed up your installation
|
||||
or (more likely) upgrade of Linux.
|
||||
|
||||
See the answers to Question 1.3/1.4. You may need to install
|
||||
ld.so.x.y.z in /lib and run ldconfig.
|
||||
|
||||
The most recent stable release of the ld package is 1.7.14
|
||||
At the time of writing, 1.8.x versions of ld are experimental.
|
||||
|
||||
1.10) Why do I get `yy_flush_buffer undefined' errors?
|
||||
|
||||
This isn't really Linux specific, but is common on older Linux
|
||||
installations. You must have a recent version of flex (2.5.2 or later)
|
||||
to compile PostgreSQL. Note that flex 2.5.3 has a bug: see
|
||||
Question 3.4.
|
||||
|
||||
1.11) How do I compile PostgreSQL on an a.out system?
|
||||
|
||||
First, you must install the dld library. This may be obtained
|
||||
from Sunsite as:
|
||||
Linux/libs/dld.3.2.7.tar.gz
|
||||
(ftp://sunsite.unc.edu/pub/Linux/libs/dld.3.2.7.tar.gz)
|
||||
|
||||
Second, add the following line to src/Makefile.custom:
|
||||
LINUX_ELF=
|
||||
(or use the customize script)
|
||||
|
||||
1.12) Why does make fail with:
|
||||
yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y
|
||||
make: /usr/bin/make: cannot execute binary file
|
||||
|
||||
This was a problem in earlier versions of Postgres95. The default
|
||||
for PostgreSQL is to use bison -y rather than yacc.
|
||||
|
||||
yacc is generally implemented as a script which invokes bison -y
|
||||
For some reason (certain versions of make? certain versions of
|
||||
bash?) make is unable to execute this script file.
|
||||
|
||||
To correct this, simply edit src/mk/port/postgres.mk.linux
|
||||
and, at the end of the file, change:
|
||||
# YACC = bison -y
|
||||
to
|
||||
YACC = bison -y
|
||||
|
||||
1.13) What are the references in X11_LIB to libsocket and libnsl in
|
||||
src/Makefile.global?
|
||||
|
||||
This was a problem in 1.08 (they are Sun Solaris specific).
|
||||
It is fixed in 1.09 and 6.0
|
||||
|
||||
1.14) [DEBIAN] Where is libtermcap?
|
||||
|
||||
Debian Linux comes without the termcap library and uses ncurses
|
||||
(which uses terminfo instead). There is no need to change the
|
||||
CURSES_LIB variable in src/bin/psql/Makefile since Debian provides
|
||||
a link from libncurses to libcurses (unlike SuSE-Linux --- see
|
||||
Question 1.8).
|
||||
|
||||
You may need to edit src/bin/psql/Makefile and comment out the
|
||||
change:
|
||||
ifeq ($(PORTNAME), linux)
|
||||
LD_ADD+= -ltermcap
|
||||
to:
|
||||
ifeq ($(PORTNAME), linux)
|
||||
LD_ADD+=
|
||||
|
||||
|
||||
1.15) [REDHAT] Can I get PostgreSQL as an RPM?
|
||||
|
||||
Yes! Michal Mosiewicz <mimo@lodz.pdi.net>
|
||||
(http://www.pdi.lodz.pl/~mimo) has kindly put together an RPM
|
||||
for PostgreSQL V6.0 on Intel architectures which he has uploaded to
|
||||
ftp://ftp.redhat.org/pub/Incoming/Postgres-6.0-1.i386.rpm
|
||||
|
||||
This is a pre-compiled version, the source RPM is on its
|
||||
was as I write (3rd Feb 1997).
|
||||
|
||||
1.16) While trying to compile a development version under Linux, compilation
|
||||
fails with a message like:
|
||||
In file included from /usr/include/sys/sem.h:8,
|
||||
from ipc.c:37:
|
||||
/usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
|
||||
....
|
||||
make: *** [ipc.o] Error 1
|
||||
|
||||
The problem is that Linux provides no prototypes for these
|
||||
inline functions. The solution is to go into the
|
||||
.../src/backend/storage/ipc directory and edit the Makefile.
|
||||
Change the line
|
||||
CFLAGS+=$(INCLUDE_OPT)
|
||||
to
|
||||
CFLAGS+=$(INCLUDE_OPT) -Wno-error
|
||||
|
||||
Do the same in the ../src/backend/storage/lmgr directory.
|
||||
|
||||
1.17) When compiling postgres, gcc reports signal 11 and aborts.
|
||||
More specifically:
|
||||
gcc: Internal compiler error: program cc1 got fatal
|
||||
signal 11
|
||||
|
||||
This may be a hardware/memory problem. PortgreSQL is a big
|
||||
program, and large gcc compilations (such as building
|
||||
PostgreSQL or bebuilding the kernel) stress memory like
|
||||
few other programs, resulting in errors that do not occur
|
||||
in normal operation. Lesser operating systems are also
|
||||
unlikely to stress the hardware to this degree so you
|
||||
may never see any problems under DOS/Windows.
|
||||
|
||||
More information on this problem at:
|
||||
http://www.bitwizard.nl/sig11
|
||||
|
||||
1.18) Can I install 6.1.1 under MkLinux?
|
||||
|
||||
Tatsuo Ishii <t-ishii@sra.co.jp> has done this under
|
||||
MkLinux DR2.1 update2 after a small patch available from:
|
||||
ftp://ftp.sra.co.jp/pub/cmd/postgres/6.1.1/mklinux.patch.gz
|
||||
|
||||
1.19) Why does make exit or crash?
|
||||
|
||||
There have been a couple of reports of gmake either just
|
||||
exiting early or seg faulting. The latter problem was reported
|
||||
with gmake 3.74 - upgrading to 3.76.1 solved the problem.
|
||||
However, 3.74 is known to work fine in other people's setups.
|
||||
In short, try upgrading gmake to the latest version you can
|
||||
find before reporting this as a problem
|
||||
|
||||
1.20) How can I optimise for 486 or pentium processors
|
||||
|
||||
The default compiler flags perform no optimisation for 486
|
||||
or Pentium processors. To add such optimisation, edit
|
||||
Makefile.custom and add:
|
||||
|
||||
CFLAGS+= -m486
|
||||
|
||||
or (for the new compilers that most people are not yet running)
|
||||
|
||||
CFLAGS+= -mpentium
|
||||
or
|
||||
CFLAGS+= -mpentiumpro
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 2: Compiling accessory programs
|
||||
----------------------------------------------------------------------
|
||||
|
||||
2.1) The linker fails to find libX11 when compiling pgtclsh
|
||||
|
||||
Add the following to src/Makefile.custom
|
||||
X11_LIBDIR = /usr/X11R6/lib
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Section 3: Runtime Problems
|
||||
----------------------------------------------------------------------
|
||||
|
||||
3.1) I get an error reporting _fUnKy_POSTPORT_sTuFf_ undefined when
|
||||
running scripts like createuser
|
||||
|
||||
This is a bug in V1.06-V1.07 of Postgres and is fixed in V1.08
|
||||
and above.
|
||||
|
||||
3.2) I run postmaster and after that system says 'Bad system call(Core
|
||||
dumped)'
|
||||
|
||||
This indicates that you have not compiled shared memory support
|
||||
into your kernel. You need to recompile the Linux kernel to add this
|
||||
feature.
|
||||
|
||||
|
||||
3.3) When I try to start the Postmaster, why do I get an error of the form
|
||||
Failed Assertion("!(file != 0):(null)", File:
|
||||
"/usr/local/PostgreSQL/src/backend/storage/file/fd.c", Line: 257)
|
||||
!(file != 0) (0)
|
||||
initdb: could not create template database
|
||||
initdb: cleaning up.
|
||||
|
||||
Your permissions on the file /dev/null are wrong.
|
||||
|
||||
ls -l /dev/null should give you something like:
|
||||
|
||||
crw-rw-rw- 1 root wheel 2, 2 Oct 8 18:41 /dev/null
|
||||
|
||||
Correct the permissions using:
|
||||
|
||||
chmod a+rw /dev/null
|
||||
|
||||
3.4) Why doesn't createuser work?
|
||||
|
||||
There is a problem with Version 2.5.3 of GNU flex and createuser.
|
||||
Your options are to downgrade flex to V2.5.2, upgrade to V2.5.4
|
||||
or apply a patch to V2.5.3 which is supplied in doc/README.flex
|
||||
You may obtain V2.5.4 from
|
||||
ftp://prep.ai.mit.edu/pub/gnu/flex-2.5.4.tar.gz
|
||||
|
||||
3.5) Why do I get an error like:
|
||||
IpcMemoryCreate: memKey=155356396 , size=760632 ,
|
||||
permission=384IpcMemoryCreate: shmget(..., create, ...)
|
||||
failed: Invalid argument
|
||||
|
||||
You haven't build IPC support into your Linux kernel. You
|
||||
will have to rebuild the kernel and switch on this option.
|
||||
|
||||
3.6) Why does psql fail with:
|
||||
psql: can't load library 'libpq.so.1'
|
||||
|
||||
Psql has been compiled to link dynamically with the libpq
|
||||
library.
|
||||
|
||||
To solve this, you should log in as root and edit the file
|
||||
/etc/ld.so.conf
|
||||
Add a single line at the end which gives the name of the
|
||||
PostgreSQL library directory (the lib subdirectory of your
|
||||
PostgreSQL installation) and run
|
||||
/sbin/ldconfig -v
|
||||
|
||||
Alternatively, (and if you don't have root access), you may
|
||||
use the LD_LIBRARY_PATH environment variable.
|
||||
|
||||
The LD_LIBRARY_PATH variable contains a colon separated list of
|
||||
paths to be searched for shared libraries. This list is
|
||||
searched before the libraries specified by ldconfig.
|
||||
|
||||
Therefore under Bash, you would do something like:
|
||||
export LD_LIBRARY_PATH='PathToPGSQL'/lib
|
||||
or, using tcsh
|
||||
setenv LD_LIBRARY_PATH 'PathToPGSQL'/lib
|
||||
replacing 'PathToPGSQL' with the appropriate path to your top level
|
||||
PostgreSQL directory
|
||||
|
||||
Note that the ldd command can be used on a dynamically linked
|
||||
executable to list the paths to all the shared libraries upon
|
||||
which the executable depends.
|
||||
|
||||
|
||||
3.7) Other strange behaviour
|
||||
|
||||
I'm not sure what the symptoms might be except for nothing
|
||||
working properly, but it has been pointed out that one needs
|
||||
to be careful that the dynamic loader loads the correct version
|
||||
of the libpq library. If you have old versions lying around
|
||||
in your library path (for example in /usr/lib) these may get
|
||||
loaded instead of the new version you intended to load. Make
|
||||
sure you get them out of the way and look at Q3.6 for
|
||||
details of loading libraries.
|
||||
|
||||
3.8) When PostgreSQL is running when the system is shutdown, Linux
|
||||
always fsck's the disk when rebooted.
|
||||
|
||||
There have been some reports of this happening and it seems
|
||||
to be a result of running PostgreSQL from /etc/inittab as
|
||||
suggested in the INSTALL document.
|
||||
|
||||
You are therefore recommended to start the postmaster from an
|
||||
rc script. Under a Slackware-like release, you would modify
|
||||
/etc/rc.d/rc.local to start the postmaster. Under a RedHat-like
|
||||
release you should create a SysV style script in
|
||||
/etc/rc.d/rc3.d based on the /etc/rc.d/init.d skeleton file.
|
||||
|
||||
There's a sample file in contrib/linux/postgres.init
|
||||
|
||||
Here's another sample file supplied by John Robinson
|
||||
<john@intelligent.co.uk> which you should modify as needed:
|
||||
|
||||
#!/bin/sh
|
||||
#
|
||||
# postgreSQL.init This shell script takes care of starting and stopping
|
||||
# the PostgreSQL postmaster.
|
||||
#
|
||||
|
||||
# Source function library.
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
# Source networking configuration.
|
||||
. /etc/sysconfig/network
|
||||
|
||||
# Check that networking is up.
|
||||
[ ${NETWORKING} = "no" ] && exit 0
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
# Start daemons.
|
||||
echo -n "Starting postgres Postmaster daemon:"
|
||||
if [ -z "`pidofproc postmaster`" ]
|
||||
then
|
||||
su postgres -c "/usr/local/pgsql/bin/postmaster -D /home/postgreSQL/data -p 5432 &"
|
||||
echo -n " postmaster"
|
||||
else
|
||||
echo -n " (already running)"
|
||||
fi
|
||||
echo
|
||||
touch /var/lock/subsys/postgres
|
||||
;;
|
||||
stop)
|
||||
# Stop daemons.
|
||||
echo -n "Shutting down postgres Postmaster daemon: "
|
||||
killall -TERM postmaster 2>/dev/null
|
||||
killall -TERM postgres 2>/dev/null
|
||||
echo
|
||||
rm -f /var/lock/subsys/postgres
|
||||
;;
|
||||
*)
|
||||
echo "Usage: postgres {start|stop}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
|
||||
3.9) Why does Query 32 in the regression tests take so long?
|
||||
|
||||
This is due to a bug in regression scripts which only happens
|
||||
on linux boxes. There are two workarounds as far as I know
|
||||
(information from Tatsuo Ishii <t-ishii@sra.co.jp>):
|
||||
|
||||
1. change following in regress.sh:
|
||||
time postgres -texecutor -tplanner -Q bench < bench.sql
|
||||
to:
|
||||
postgres -texecutor -tplanner -Q bench < bench.sql
|
||||
|
||||
2. after running the test, remove a line at the very end of
|
||||
bench.out something like:
|
||||
85.86user 114.47system 4:49.20elapsed 69%CPU (0avgtext+0avgdata 0maxresident)k
|
||||
then type:
|
||||
sh ./perquery < bench.out > & bench.out.perquery
|
||||
|
||||
|
||||
|
||||
3.10) Why do I get funny rounding results in some date/time arithmetic,
|
||||
such as
|
||||
select '4 hours'::timespan;
|
||||
returning '3 hours 59 minutes 60 seconds'?
|
||||
|
||||
You are running the new glibc2 libraries and have a version earlier than
|
||||
2.0.7. It is a math rounding problem in the library. Upgrade your library.
|
||||
----------------------------------------------------------------------------
|
||||
Dr. Andrew C.R. Martin University College London
|
||||
EMAIL: (Work) martin@biochem.ucl.ac.uk (Home) andrew@stagleys.demon.co.uk
|
||||
URL: http://www.biochem.ucl.ac.uk/~martin
|
||||
Tel: (Work) +44(0)171 419 3890 (Home) +44(0)1372 275775
|
||||
</PRE>
|
504
doc/TODO
504
doc/TODO
@ -1,24 +1,27 @@
|
||||
TODO list for PostgreSQL
|
||||
========================
|
||||
Last updated: Tue Apr 7 16:56:24 EDT 1998
|
||||
Last updated: Sat Aug 29 17:43:10 EDT 1998
|
||||
|
||||
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
||||
|
||||
The most recent version of this document can be viewed at
|
||||
the PostgreSQL WWW site, http://www.postgreSQL.org.
|
||||
|
||||
THE CHANGES FOR 6.3 APPEAR AT THE END OF THIS DOCUMENT
|
||||
THE CHANGES FOR 6.4 APPEAR AT THE END OF THIS DOCUMENT
|
||||
|
||||
A dash(-) marks changes to be in the next release.
|
||||
|
||||
Developers who have claimed items are:
|
||||
-------------------------------------
|
||||
* Billy is Billy G. Allie <Bill.Allie@mug.org>
|
||||
* Brook is Brook Milligan <brook@trillium.NMSU.Edu>
|
||||
* Bruce is Bruce Momjian<maillist@candle.pha.pa.us>
|
||||
* Bryan is Bryan Henderson<bryanh@giraffe.netgate.net>
|
||||
* D'Arcy is D'Arcy J.M. Cain <darcy@druid.net>
|
||||
* Dan is Dan McGuirk <mcguirk@indirect.com>
|
||||
* Daniel is Daniel Kalchev <daniel@digsys.bg>
|
||||
* Darren is Darren King <darrenk@insightdist.com>
|
||||
* David is David Hartwig <daveh@insightdist.com>
|
||||
* Edmund is Edmund Mergl <E.Mergl@bawue.de>
|
||||
* Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
|
||||
* Gerhard is Gerhard Reithofer <gerhardr@tech-edv.co.at>
|
||||
@ -31,40 +34,42 @@ Developers who have claimed items are:
|
||||
* Maarten is Maarten Boekhold <maartenb@dutepp0.et.tudelft.nl>
|
||||
* Marc is Marc Fournier <scrappy@hub.org>
|
||||
* Martin is Martin S. Utesch <utesch@aut.tu-freiberg.de>
|
||||
* Massimo Dal Zotto <dz@cs.unitn.it>
|
||||
* Michael is Michael Meskes <meskes@debian.org>
|
||||
* Oleg is Oleg Bartunov <oleg@sai.msu.su>
|
||||
* Paul is Paul M. Aoki <aoki@CS.Berkeley.EDU>
|
||||
* Patrick is Patrick van Kleef <pvk@pobox.com>
|
||||
* Peter is Peter T Mount <psqlhack@maidast.demon.co.uk>
|
||||
* Peter is Peter T Mount <peter@retep.org.uk>
|
||||
* Phil is Phil Thompson <phil@river-bank.demon.co.uk>
|
||||
* Raymond is Raymond Toy <toy@rtp.ericsson.se>
|
||||
* Ryan is Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
|
||||
* Soo-Ho Ok <shok@detc.dongeui-tc.ac.kr>
|
||||
* Stefan Simkovics <ssimkovi@rainbow.studorg.tuwien.ac.at>
|
||||
* Sven is Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
|
||||
* Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp>
|
||||
* Thomas is Thomas Lockhart <tgl@mythos.jpl.nasa.gov>
|
||||
* Todd is Todd Brandys is <brandys@eng3.hep.uiuc.edu>
|
||||
* TomH is Tom I Helbekkmo <tih@Hamartun.Priv.NO>
|
||||
* Vadim is "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
|
||||
* Vivek is Vivek Khera <khera@kci.kciLink.com>
|
||||
|
||||
Additional 6.3 developers include:
|
||||
Additional 6.4 developers include:
|
||||
---------------------------------
|
||||
* Billy is Billy G. Allie <Bill.Allie@mug.org>
|
||||
* Brook is Brook Milligan <brook@trillium.NMSU.Edu>
|
||||
* James is James Hughes <jamesh@interpath.com>
|
||||
* Jeroen is Jeroen van Vianen <jeroenv@design.nl>
|
||||
* Matt is Matt Maycock <maycock@intelliquest.com>
|
||||
* Ryan is Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
|
||||
* TomH is Tom I Helbekkmo <tih@Hamartun.Priv.NO>
|
||||
* TomS is Tom Szybist
|
||||
* Travis is Travis Melhiser <melhiser@viper.co.union.nc.us>
|
||||
* Jun Kuwamura <juk@rccm.co.jp>
|
||||
* Zeugswetter Andreas SARZ <Andreas.Zeugswetter@telecom.at>
|
||||
* Soonmyung. Hong <hong@lunaris.hanmesoft.co.kr>
|
||||
* Anders Hammarquist <iko@netg.se>
|
||||
* Jeroen van Vianen <jeroenv@design.nl>
|
||||
* Aldrin L. <aldrin@americasnet.com>
|
||||
* Pascal ANDRE <andre@via.ecp.fr>
|
||||
* Magnus Hagander <mha@edu.sollentuna.se>
|
||||
|
||||
RELIABILITY
|
||||
-----------
|
||||
* Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup
|
||||
* Overhaul bufmgr/lockmgr/transaction manager
|
||||
* Remove EXTEND?
|
||||
* CREATE VIEW requires super-user priviledge
|
||||
* -CREATE VIEW requires super-user priviledge
|
||||
* Can lo_export()/lo_import() read/write anywhere, causing a security problem?
|
||||
* Tables that start with xinv confused to be large objects
|
||||
* Two and three dimmensional arrays display improperly, missing {}
|
||||
@ -73,7 +78,7 @@ RELIABILITY
|
||||
* SELECT * FROM table WHERE int4_column = '1' fails
|
||||
* SELECT a[1] FROM test fails, it needs test.a[1]
|
||||
* UPDATE table SET table.value = 3 fails
|
||||
* Make pg_dump preserve inheritance column order, do non-inherits first
|
||||
* -Make pg_dump preserve inheritance column order, do non-inherits first
|
||||
* User who can create databases can modify pg_database table
|
||||
* optimizer memory exhaustion with many OR's
|
||||
* elog() does not free all its memory(Jan)
|
||||
@ -81,6 +86,10 @@ RELIABILITY
|
||||
* disallow inherited columns with the same name as new columns
|
||||
* recover or force failure when disk space is exhausted
|
||||
* default char() value not to full length crashes server on some OS's
|
||||
* allow UPDATE using aggregate to affect all rows, not just one
|
||||
* computations in views fail:
|
||||
create view test as select usesysid * usesysid from pg_shadow;
|
||||
* select upper(usename), count(usesysid) from pg_shadow group by 1 fails
|
||||
|
||||
ENHANCEMENTS
|
||||
------------
|
||||
@ -92,36 +101,37 @@ ENHANCEMENTS
|
||||
* Add full ANSI SQL capabilities
|
||||
* -Implement HAVING clause(Stephan)
|
||||
* add OUTER joins, left and right (Thomas)
|
||||
* make VIEWs updateable where possible
|
||||
* -make VIEWs updateable where possible(use Rules)
|
||||
* add INTERSECTS, SUBTRACTS(Stephan)
|
||||
* add temporary tables(Bruce)
|
||||
* add temporary tables
|
||||
* add sql3 recursive unions
|
||||
* add the concept of dataspaces
|
||||
* add DECIMAL, NUMERIC, DOUBLE PRECISION, BIT, BIT VARYING
|
||||
* NCHAR (as distinguished from ordinary varchar),
|
||||
* DOMAIN capability
|
||||
* Allow compression of large fields or a compressed field type
|
||||
* Fix the rules system(Jan?,Soo-Ho)
|
||||
* robust
|
||||
* making INSTEAD rules work
|
||||
* Fix the rules system(Jan,Soo-Ho)
|
||||
* -robust
|
||||
* -making INSTEAD rules work
|
||||
* add CONSTRAINT
|
||||
* Full set of text operations and functions
|
||||
* word searches, concat,max() on text, char
|
||||
* Large objects
|
||||
* Fix large object mapping scheme, own reltype
|
||||
* Fix large object mapping scheme, own reltype(Peter)
|
||||
* Allow large text type to use large objects(Peter)
|
||||
* not to stuff everything as files in a single directory
|
||||
* Fix large object memory leaks
|
||||
* delete orphaned large objects
|
||||
* Better interface for adding to pg_group
|
||||
* Make MONEY/DECIMAL have a defined precision
|
||||
* Fix tables >2G, or report error when 2G size reached
|
||||
(fix lseek()/off_t, mdextend()/RELSEG_SIZE)
|
||||
* Threaded version of the server or libpq
|
||||
* Allow libpq to cancel query requests
|
||||
* -Allow libpq to cancel query requests
|
||||
* Add REGEX internationalization
|
||||
* allow row re-use without vacuum, maybe?(Vadim)
|
||||
* Remove restriction that ORDER BY field must be in SELECT list
|
||||
* -Remove restriction that ORDER BY field must be in SELECT list(David)
|
||||
* Add word index for text fields, maybe with trigrams, i.e.:
|
||||
* ' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox
|
||||
* ' (cat | dog) & ! fox ' meaning text has cat aor dog, but not fox
|
||||
* Populate backend status area and write program to dump status data
|
||||
* Add ALTER TABLE DROP COLUMN feature
|
||||
* Allow INSERT INTO ... SELECT to convert column types
|
||||
@ -146,6 +156,7 @@ ENHANCEMENTS
|
||||
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
|
||||
* Allow installation data block size and max tuple size configuration(Darren)
|
||||
* Allow views on a UNION
|
||||
* Allow DISTINCT on view
|
||||
* Allow views of aggregate columns
|
||||
* Allow variable block sizes(Darren)
|
||||
* System tables are now more update-able from SQL(Jan)
|
||||
@ -161,19 +172,33 @@ ENHANCEMENTS
|
||||
* Granting permissions to another user looses permissions for the owner
|
||||
* Allow queries across multiple databases
|
||||
* Add replication of distributed databases
|
||||
* Allow table destruction/alter to be rolled back
|
||||
* Add pg_attribute.atttypmod/Resdom->restypmod to PGresult structure
|
||||
* Generate error on CREATE OPERATOR of ~~, ~ and and ~*
|
||||
* Allow constraint NULL just as we honor NOT NULL
|
||||
* Add version number in startup banners for psql and postmaster
|
||||
* Restructure storing of GRANT permission information to allow +-=
|
||||
* allow psql \copy to allow delimiters
|
||||
* allow international error message support and add error codes
|
||||
* allow ORDER BY a function(David)
|
||||
* allow usernames with dashes(GRANT fails)
|
||||
* add a function to return the last inserted oid, for use in psql scripts
|
||||
* allow creation of functional indexes to use default types
|
||||
* put sort files, large objects in their on directory
|
||||
* CREATE VIEW myview (name) AS SELECT lname FROM wages fails
|
||||
|
||||
PERFORMANCE
|
||||
-----------
|
||||
* Use indexes in ORDER BY, min(), max()(Costin Oproiu)
|
||||
* Use indexes in ORDER BY for restrictive data sets, min(), max()
|
||||
* Optimizing disjunctive queries
|
||||
* Fix bushy-plans (Martin)
|
||||
* Fix bushy-plans
|
||||
* Other optimizer bugs
|
||||
* Prevent fsync in SELECT-only queries
|
||||
* Cache most recent query plan(s?)
|
||||
* Shared catalog cache, reduce lseek()'s by caching table size in shared area
|
||||
* Allow compression of log and meta data
|
||||
* Add FILLFACTOR to index creation
|
||||
* Allow indexes to be used with OR clauses(Vadim)
|
||||
* -Allow indexes to be used with OR clauses(Bruce)
|
||||
* update pg_statistic table to remove operator column
|
||||
* make index creation use psort code, because it is now faster(Vadim)
|
||||
* remove fork()/exec() of backend and make it just fork()
|
||||
@ -185,6 +210,9 @@ PERFORMANCE
|
||||
* Use spin locks only on multi-CPU systems, yield CPU instead
|
||||
* Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
|
||||
when it is available
|
||||
* use mmap() rather than SYSV shared memory(?)
|
||||
* use index to restrict rows returned by multi-key index when used with
|
||||
non-consecutive keys or OR clauses, so fewer heap accesses
|
||||
|
||||
DOCUMENTATION
|
||||
-------------
|
||||
@ -198,284 +226,162 @@ DOCUMENTATION
|
||||
|
||||
=============================================================================
|
||||
|
||||
|
||||
CHANGES IN THE 6.3.2 PATCH
|
||||
CHANGES IN THE 6.4 RELEASE
|
||||
--------------------------
|
||||
configure detection improvements for tcl/tk(Brook Milligan, Alvin)
|
||||
Manual page improvements(Bruce)
|
||||
BETWEEN and LIKE fix(Thomas)
|
||||
fix for psql \connect used by pg_dump(Oliver Elphick)
|
||||
New odbc driver
|
||||
pgaccess, version 0.86
|
||||
qsort removed, now uses libc version, cleanups(Jeroen)
|
||||
fix for buffer over-runs detected(Maurice Gittens)
|
||||
fix for buffer overrun in libpgtcl(Randy Kunkee)
|
||||
fix for UNION with DISTINCT or ORDER BY(Bruce)
|
||||
gettimeofday configure check(Doug Winterburn)
|
||||
Fix "indexes not used" bug(Vadim)
|
||||
docs additions(Thomas)
|
||||
Fix for backend memory leak(Bruce)
|
||||
libreadline cleanup(Erwan MAS)
|
||||
Remove DISTDIR(Bruce)
|
||||
Makefile dependency cleanup(Jeroen van Vianen)
|
||||
ASSERT fixes(Bruce)
|
||||
|
||||
|
||||
CHANGES IN THE 6.3.1 PATCH
|
||||
--------------------------
|
||||
ecpg cleanup/fixes, now version 1.1(Michael Meskes)
|
||||
pg_user cleanup(Bruce)
|
||||
large object fix for pg_dump and tclsh(alvin@camberlo.demon.co.uk)
|
||||
LIKE fix for multiple adjacent underscores
|
||||
LIKE/BETWEEN fix for having function call as target(Thomas)
|
||||
fix for redefining builtin functions(Thomas)
|
||||
ultrix4 cleanup
|
||||
upgrade to pg_access 0.83
|
||||
updated CLUSTER manual page
|
||||
multi-byte character set support, see doc/README.mb(Tatsuo)
|
||||
configure --with-pgport fix
|
||||
pg_ident fix
|
||||
big-endian fix for backend communications(Kataoka)
|
||||
SUBSTR() and substring() fix(Jan)
|
||||
several jdbc fixes(Peter)
|
||||
libpgtcl improvements, see libptcl/README(Randy Kunkee)
|
||||
Fix for "Datasize = 0" error(Vadim)
|
||||
Prevent \do from wrapping(Bruce)
|
||||
Remove duplicate Russian character set entries
|
||||
Sunos4 cleanup
|
||||
Allow optional TABLE keyword in LOCK and SELECT INTO(Thomas)
|
||||
CREATE SEQUENCE options to allow a negative integer(Thomas)
|
||||
Add "PASSWORD" as an allowed column identifier(Thomas)
|
||||
Add checks for UNION target fields(Bruce)
|
||||
Fix Alpha port(Dwayne Bailey)
|
||||
Fix for text arrays containing quotes(Doug Gibson)
|
||||
Solaris compile fix(Albert Chin-A-Young)
|
||||
Better identify tcl and tk libs and includes(Bruce)
|
||||
|
||||
|
||||
|
||||
CHANGES IN THE 6.3 RELEASE
|
||||
--------------------------
|
||||
|
||||
There are some general 6.3 issues that I want to mention. These are
|
||||
only the big items that can not be described in one sentence.
|
||||
|
||||
First, we now have subselects. Now that we have them, I would like to
|
||||
mention that without subselects, SQL is a very limited language.
|
||||
Subselects are a major feature, and you should review your code for
|
||||
places where subselects provide a better solution for your queries. I
|
||||
think you will find that there are more uses for subselects than you may
|
||||
think. Vadim has put us on the big SQL map with subselects, and fully
|
||||
functional ones too. The only thing you can't do with subselects is to
|
||||
use them in the target list.
|
||||
|
||||
Second, 6.3 uses unix domain sockets rather than TCP/IP by default. To
|
||||
enable connections from other machines, you have to use the new
|
||||
postmaster -i option, and of course edit pg_hba.conf. Also, for this
|
||||
reason, the format of pg_hba.conf has changed.
|
||||
|
||||
Third, char() fields will now allow faster access than varchar() or
|
||||
text. Specifically, the text and varchar() have a penalty for access to
|
||||
any columns after the first column of this type. char() used to also
|
||||
have this access penalty, but it no longer does. This may suggest that
|
||||
you redesign some of your tables, especially if you have short character
|
||||
columns that you have defined as varchar() or text. This and other
|
||||
changes make 6.3 even faster than earlier releases.
|
||||
|
||||
We now have passwords definable independent of any Unix file. There are
|
||||
new SQL USER commands. See the pg_hba.conf manual page for more
|
||||
information. There is a new table, pg_shadow, which is used to store
|
||||
user information and user passwords, and it by default only SELECT-able
|
||||
by the postgres super-user. pg_user is now a view of pg_shadow, and is
|
||||
SELECT-able by PUBLIC. You should keep using pg_user in your
|
||||
application without changes.
|
||||
|
||||
User-created tables now no longer have SELECT permission to PUBLIC by
|
||||
default. This was done because the ANSI standard requires it. You can
|
||||
of course GRANT any permissions you want after the table is created.
|
||||
System tables continue to be SELECT-able by PUBLIC.
|
||||
|
||||
We also have real deadlock detection code. No more sixty-second
|
||||
timeouts. And the new locking code implements a FIFO better, so there
|
||||
should be less resource starvation during heavy use.
|
||||
|
||||
Many complaints have been made about inadequate documenation in previous
|
||||
releases. Thomas has put much effort into many new manuals for this
|
||||
release. Check out the /doc directory.
|
||||
|
||||
For performance reasons, time travel is gone, but can be implemented
|
||||
using triggers (see pgsql/contrib/spi/README). Please check out the new
|
||||
\d command for types, operators, etc. Also, views have their own
|
||||
permissions now, not based on the underlying tables, so permissions on
|
||||
them have to be set separately. Check /pgsql/interfaces for some new
|
||||
ways to talk to PostgreSQL.
|
||||
|
||||
This is the first release that really required an explaination for
|
||||
existing users. In many ways, this was necessary because the new
|
||||
release removes many limitations, and the work-arounds people were using
|
||||
are no longer needed.
|
||||
|
||||
Bug Fixes
|
||||
---------
|
||||
Fix binary cursors broken by MOVE implementation(Vadim)
|
||||
Fix for tcl library crash(Jan)
|
||||
Fix for array handling, from Gerhard Hintermayer
|
||||
Fix acl error, and remove duplicate pqtrace(Bruce)
|
||||
Fix psql \e for empty file(Bruce)
|
||||
Fix for textcat on varchar() fields(Bruce)
|
||||
Fix for DBT Sendproc (Zeugswetter Andres)
|
||||
Fix vacuum analyze syntax problem(Bruce)
|
||||
Fix for international identifiers(Tatsuo)
|
||||
Fix aggregates on inherited tables(Bruce)
|
||||
Fix substr() for out-of-bounds data
|
||||
Fix for select 1=1 or 2=2, select 1=1 and 2=2, and select sum(2+2)(Bruce)
|
||||
Fix notty output to show status result. -q option still turns it off(Bruce)
|
||||
Fix for count(*), aggs with views and multiple tables and sum(3)(Bruce)
|
||||
Fix cluster(Bruce)
|
||||
Fix for PQtrace start/stop several times(Bruce)
|
||||
Fix a variety of locking problems like newer lock waiters getting
|
||||
lock before older waiters, and having readlock people not share
|
||||
locks if a writer is waiting for a lock, and waiting writers not
|
||||
getting priority over waiting readers(Bruce)
|
||||
Fix crashes in psql when executing queries from external files(James)
|
||||
Fix problem with multiple order by columns, with the first one having
|
||||
NULL values(Jeroen)
|
||||
Use correct hash table support functions for float8 and int4(Thomas)
|
||||
Re-enable JOIN= option in CREATE OPERATOR statement (Thomas)
|
||||
Change precedence for boolean operators to match expected behavior(Thomas)
|
||||
Generate elog(ERROR) on over-large integer(Bruce)
|
||||
Allow multiple-argument functions in constraint clauses(Thomas)
|
||||
Check boolean input literals for 'true','false','yes','no','1','0'
|
||||
and throw elog(ERROR) if unrecognized(Thomas)
|
||||
Major large objects fix
|
||||
Fix for GROUP BY showing duplicates(Vadim)
|
||||
Fix for index scans in MergeJion(Vadim)
|
||||
Fix for a tiny memory leak in PQsetdb/PQfinish(Bryan)
|
||||
Remove char2-16 data types, use char/varchar(Darren)
|
||||
Pqfn not handles a NOTICE message(Anders)
|
||||
Short-term locks now retry locking at random times(David)
|
||||
Fix up "ISO-style" timespan decoding and encoding(Thomas)
|
||||
Fix problem with table drop after rollback of transaction(Vadim)
|
||||
Change error message and remove non-functional update message(Vadim)
|
||||
Fix for COPY array checking
|
||||
Fix for SELECT 1 UNION SELECT NULL
|
||||
Fix for buffer leaks in large object calls(Pascal)
|
||||
Change owner from oid to int4 type(Bruce)
|
||||
Fix a bug in the oracle compatibility functions btrim() ltrim() and rtrim()
|
||||
Fix for usernames longer than eight characters(Tom)
|
||||
Fix for shared invalidation cache overflow(Massimo)
|
||||
Prevent file descriptor leaks in failed COPY's(Bruce)
|
||||
|
||||
Enhancements
|
||||
------------
|
||||
Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas)
|
||||
New User Manual(Thomas, others)
|
||||
Speedup by inlining some frequently-called functions
|
||||
Real deadlock detection, no more timeouts(Bruce)
|
||||
Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,
|
||||
CURRENT_USER(Thomas)
|
||||
Modify constraint syntax to be SQL92-compliant(Thomas)
|
||||
Implement SQL92 PRIMARY KEY and UNIQUE clauses using indices(Thomas)
|
||||
Recognize SQL92 syntax for FOREIGN KEY. Throw elog notice(Thomas)
|
||||
Allow NOT NULL UNIQUE constraint clause (each allowed separately before)(Thomas)
|
||||
Allow Postgres-style casting ("::") of non-constants(Thomas)
|
||||
Add support for SQL3 TRUE and FALSE boolean constants(Thomas)
|
||||
Support SQL92 syntax for IS TRUE/IS FALSE/IS NOT TRUE/IS NOT FALSE(Thomas)
|
||||
Allow shorter strings for boolean literals (e.g. "t", "tr", "tru")(Thomas)
|
||||
Allow SQL92 delimited identifiers(Thomas)
|
||||
Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F')(Thomas)
|
||||
Support SQL92 syntax for type coercion of literal strings
|
||||
(e.g. "DATETIME 'now'")(Thomas)
|
||||
Add conversions for int2, int4, and OID types to and from text(Thomas)
|
||||
Use shared lock when building indices(Vadim)
|
||||
Free memory allocated for an user query inside transaction block after
|
||||
this query is done, was turned off in <= 6.2.1(Vadim)
|
||||
New SQL statement CREATE PROCEDURAL LANGUAGE(Jan)
|
||||
New PostgreSQL Procedural Language (PL) backend interface(Jan)
|
||||
Rename pg_dump -H option to -h(Bruce)
|
||||
Add Java support for passwords, European dates(Peter)
|
||||
Use indices for LIKE and ~, !~ operations(Bruce)
|
||||
Add hash functions for datetime and timespan(Thomas)
|
||||
Time Travel removed(Vadim, Bruce)
|
||||
Add paging for \d and \z, and fix \i(Bruce)
|
||||
Add Unix domain socket support to backend and to frontend library(Goran)
|
||||
Implement CREATE DATABASE/WITH LOCATION and initlocation utility(Thomas)
|
||||
Allow more SQL92 and/or Postgres reserved words as column identifiers(Thomas)
|
||||
Augment support for SQL92 SET TIME ZONE...(Thomas)
|
||||
SET/SHOW/RESET TIME ZONE uses TZ backend environment variable(Thomas)
|
||||
Implement SET keyword = DEFAULT and SET TIME ZONE DEFAULT(Thomas)
|
||||
Enable SET TIME ZONE using TZ environment variable(Thomas)
|
||||
Add PGDATESTYLE environment variable to frontend and backend initialization(Thomas)
|
||||
Add PGTZ, PGCOSTHEAP, PGCOSTINDEX, PGRPLANS, PGGEQO
|
||||
frontend library initialization environment variables(Thomas)
|
||||
Regression tests time zone automatically set with "setenv PGTZ PST8PDT"(Thomas)
|
||||
Add pg_description table for info on tables, columns, operators, types, and
|
||||
aggregates(Bruce)
|
||||
Increase 16 char limit on system table/index names to 32 characters(Bruce)
|
||||
Rename system indices(Bruce)
|
||||
Add 'GERMAN' option to SET DATESTYLE(Thomas)
|
||||
Define an "ISO-style" timespan output format with "hh:mm:ss" fields(Thomas)
|
||||
Allow fractional values for delta times (e.g. '2.5 days')(Thomas)
|
||||
Validate numeric input more carefully for delta times(Thomas)
|
||||
Implement day of year as possible input to date_part()(Thomas)
|
||||
Define timespan_finite() and text_timespan() functions(Thomas)
|
||||
Remove archive stuff(Bruce)
|
||||
Allow for a pg_password authentication database that is separate from
|
||||
the system password file(Todd)
|
||||
Dump ACLs, GRANT, REVOKE permissions(Matt)
|
||||
Define text, varchar, and bpchar string length functions(Thomas)
|
||||
Fix Query handling for inheritance, and cost computations(Bruce)
|
||||
Implement CREATE TABLE/AS SELECT (alternative to SELECT/INTO)(Thomas)
|
||||
Allow NOT, IS NULL, IS NOT NULL in constraints(Thomas)
|
||||
Implement UNIONs for SELECT(Bruce)
|
||||
Add UNION, GROUP, DISTINCT to INSERT(Bruce)
|
||||
varchar() stores only necessary bytes on disk(Bruce)
|
||||
Fix for BLOBs(Peter)
|
||||
Mega-Patch for JDBC...see README_6.3 for list of changes(Peter)
|
||||
Remove unused "option" from PQconnectdb()
|
||||
New LOCK command and lock manual page describing deadlocks(Bruce)
|
||||
Add new psql \da, \dd, \df, \do, \dS, and \dT commands(Bruce)
|
||||
Enhance psql \z to show sequences(Bruce)
|
||||
Show NOT NULL and DEFAULT in psql \d table(Bruce)
|
||||
New psql .psqlrc file startup(Andrew)
|
||||
Modify sample startup script in contrib/linux to show syslog(Thomas)
|
||||
New types for IP and MAC addresses in contrib/ip_and_mac(TomH)
|
||||
Unix system time conversions with date/time types in contrib/unixdate(Thomas)
|
||||
Update of contrib stuff(Massimo)
|
||||
Add Unix socket support to DBD::Pg(Goran)
|
||||
New python interface (PyGreSQL 2.0)(D'Arcy)
|
||||
New frontend/backend protocol has a version number, network byte order(Phil)
|
||||
Security features in pg_hba.conf enhanced and documented, many cleanups(Phil)
|
||||
CHAR() now faster access than VARCHAR() or TEXT
|
||||
ecpg embedded SQL preprocessor
|
||||
Reduce system column overhead(Vadmin)
|
||||
Remove pg_time table(Vadim)
|
||||
Add pg_type attribute to identify types that need length (bpchar, varchar)
|
||||
Add report of offending line when COPY command fails
|
||||
Allow VIEW permissions to be set separately from the underlying tables.
|
||||
For security, use GRANT/REVOKE on views as appropriate(Jan)
|
||||
Tables now have no default GRANT SELECT TO PUBLIC. You must
|
||||
explicitly grant such permissions.
|
||||
Clean up tutorial examples(Darren)
|
||||
Upgrade ECPG to 2.0, see src/interfaces/ecpc/ChangeLog(Michael)
|
||||
Show the index used in an explain(Zeugswetter)
|
||||
Multi-byte awareness of many data data types and functions(Tatsuo)
|
||||
New configure --with-mb option(Tatsuo)
|
||||
New initdb --pgencoding option(Tatsuo)
|
||||
New createdb -E multibyte option(Tatsuo)
|
||||
Select version(); now returns PostgreSQL version(Jeroen)
|
||||
Libpq now allows asynchronous clients(Tom)
|
||||
Allow cancel from client of backend query(Tom)
|
||||
Psql now cancels query with Control-C(Tom)
|
||||
Define "tz_hour" and "tz_minute" arguments to date_part()(Thomas)
|
||||
Add routines to convert between varchar and bpchar(Thomas)
|
||||
Add routines to allow sizing of varchar and bpchar into target columns(Thomas)
|
||||
Add bit flags to support timezonehour and minute in data retrieval(Thomas)
|
||||
Allow more variations on valid floating point numbers (e.g. ".1", "1e6")(Thomas)
|
||||
Fixes for unary minus parsing with leading spaces(Thomas)
|
||||
Implement TIMEZONE_HOUR, TIMEZONE_MINUTE per SQL92 specs(Thomas)
|
||||
Check for and properly ignore FOREIGN KEY column constraints(Thomas)
|
||||
Define USER as synonym for CURRENT_USER per SQL92 specs(Thomas)
|
||||
Enable HAVING clause but no fixes elsewhere yet.
|
||||
Make "char" type a synonym for "char(1)" (actually implemented as bpchar)(Thomas)
|
||||
Save string type if specified for DEFAULT clause handling(Thomas)
|
||||
Coerce operations involving different data types(Thomas)
|
||||
Allow some index use for columns of different types(Thomas)
|
||||
Add capabilities for automatic type conversion(Thomas)
|
||||
Cleanups for large objects, so file is truncated on open(Peter)
|
||||
Readline cleanups(Tom)
|
||||
Allow psql \f \ to make spaces as delimiter(Bruce)
|
||||
Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce)
|
||||
Msql compatibility library in /contrib(Aldrin)
|
||||
Remove the requirement that ORDER/GROUP BY clause identifiers be
|
||||
included in the target list(David)
|
||||
Convert columns to match columns in UNION clauses(Thomas)
|
||||
Remove fork()/exec() and only do fork()(Bruce)
|
||||
Jdbc cleanups(Peter)
|
||||
Show backend status on ps command line(only works on some platforms)(Bruce)
|
||||
Pg_hba.conf now has a sameuser option in the database field
|
||||
Make lo_unlink take oid param, not int4
|
||||
New DISABLE_COMPLEX_MACRO for compilers that can't handle our macros(Bruce)
|
||||
Libpgtcl now gets async notifies from libpq(Tom)
|
||||
New locale patch, see docs/README/locale(Oleg)
|
||||
Fix for pg_dump so CONSTRAINT and CHECK syntax is correct(ccb)
|
||||
New contrib/lo code for large object orphan removal(Peter)
|
||||
New psql command "SET CLIENT_ENCODING TO 'encoding'" for multi-bytes
|
||||
feature, see /doc/README.mb(Tatsuo)
|
||||
/contrib/noupdate code to revoke update permission on a column
|
||||
Libpq can now be compiled on win32(Magnus)
|
||||
Add PQsetdbLogin() in libpq
|
||||
Two styles we agreed upon for database descriptors(Thomas)
|
||||
New 8-byte integer type, checked by configure for OS support(Thomas)
|
||||
Surround table and column names with double-quotes(Thomas) in generated
|
||||
sql code to preserve case (SQL92 syntax)(Thomas)
|
||||
New libpqrequestCancel(Tom)
|
||||
PQreset() now works with passwords(Tom)
|
||||
Handle case of GROUP BY target list column number out of range(David)
|
||||
Allow UNION in subselects
|
||||
Add auto-size to screen to \d? commands(Bruce)
|
||||
Use UNION to show all \d? results in one query(Bruce)
|
||||
Add \d? field search feature(Bruce)
|
||||
Pg_dump issues fewer \connect requests(Tom)
|
||||
Document pg_dump -z flag in manual page(Tom)
|
||||
Add HAVING clause with full support for subselects and unions(Stephan)
|
||||
Full text indexing routines in contrib/fulltextindex(Marteen)
|
||||
Transaction ids now stored in shared memory(Vadim)
|
||||
New PGCLIENTENCODING when issuing COPY command(Tatsuo)
|
||||
Support for SQL92 syntax "SET NAMES"(Tatsuo)
|
||||
Support for LATIN2-5(Tatsuo)
|
||||
Add UNICODE regression test case(Tatsuo)
|
||||
Lock manager cleanup, new locking modes for LLL(Vadim)
|
||||
Allow index use with OR clauses(Bruce)
|
||||
Allows "SELECT NULL ORDER BY 1;"
|
||||
Explain VERBOSE prints the plan, and now pretty-prints the plan to
|
||||
the postmaster log file(Bruce)
|
||||
Add Indices display to \d command(Bruce)
|
||||
Allow GROUP BY on functions(David)
|
||||
New pg_class.relkind for large objects(Bruce)
|
||||
New way to send libpq NOTICE messages to a different location(Tom)
|
||||
New \w write command to psql(Bruce)
|
||||
New /contrib/findoidjoins scans oid columns to find join relationships(Bruce)
|
||||
Allow binary-compatible indices to be considered when checking for valid
|
||||
indices for restriction clauses containing a constant(Thomas)
|
||||
New ISBN/ISSN code in /contrib/isbn_issn
|
||||
Allow NOT LIKE, IN, NOT IN, BETWEEN, and NOT BETWEEN constraint(Thomas)
|
||||
New rewrite system fixes many problems with rules and views(Jan)
|
||||
* Rules on relations work
|
||||
* Event qualifications on insert/update/delete work
|
||||
* New OLD variable to reference CURRENT, CURRENT will be remove in future
|
||||
* Update rules can reference NEW and OLD in rule qualifications/actions
|
||||
* Insert/update/delete rules on views work
|
||||
* Multiple rule actions are now supported, surrounded by parentheses
|
||||
* Regular users can create views/rules on tables they have RULE permits
|
||||
* Rules and views inherit the permissions on the creator
|
||||
* No rules at the column level
|
||||
* No UPDATE NEW/OLD rules
|
||||
* New pg_rule and pg_view system views
|
||||
* Only a single action on SELECT rules
|
||||
* Total rewrite overhaul, perhaps for 6.5
|
||||
|
||||
System indexes are now multi-key(Bruce)
|
||||
Oidint2, oidint4, and oidname types are removed(Bruce)
|
||||
Use system cache for more system table lookups(Bruce)
|
||||
New backend programming language PL/pgSQL in backend/pl(Jan)
|
||||
New SERIAL data type, auto-creates sequence/index(Thomas)
|
||||
Enable assert checking without a recompile(Massimo)
|
||||
User lock enhancements(Massimo)
|
||||
New setval() command to set sequence value(Massimo)
|
||||
Auto-remove unix socket file on startup if no postmaster running(Massimo)
|
||||
Conditional trace package(Massimo)
|
||||
New UNLISTEN command(Massimo)
|
||||
Psql now compiles under win32 using win32.mak(Magnus)
|
||||
Lo_read no longer stores trailing NULL(Bruce)
|
||||
Identifiers are now truncated to 31 characters internally(Bruce)
|
||||
|
||||
Source Tree Changes
|
||||
-------------------
|
||||
Add new html development tools, and flow chart in /tools/backend
|
||||
Fix for SCO compiles
|
||||
Stratus computer port "Gillies, Robert" <GilliesR@Nichols.com>
|
||||
Added support for shlib for BSD44_derived & i386_solaris
|
||||
Make configure more automated(Brook)
|
||||
Add script to check regression test results
|
||||
Break parser functions into smaller files, group together(Bruce)
|
||||
Rename heap_create to heap_create_and_catalog, rename heap_creatr
|
||||
to heap_create()(Bruce)
|
||||
Sparc/Linux patch for locking(TomS)
|
||||
Remove PORTNAME and reorganize port-specific stuff(Marc)
|
||||
Add optimizer README file(Bruce)
|
||||
Remove some recursion in optimizer and clean up some code there(Bruce)
|
||||
Fix for NetBSD locking(Henry)
|
||||
Fix for libptcl make(Tatsuo)
|
||||
AIX patch(Darren)
|
||||
Change IS TRUE, IS FALSE, ... to expressions using "=" rather than
|
||||
function calls to istrue() or isfalse() to allow optimization(Thomas)
|
||||
Various fixes NetBSD/Sparc related(TomH)
|
||||
Alpha linux locking(Travis,Ryan)
|
||||
Change elog(WARN) to elog(ERROR)(Bruce)
|
||||
FAQ for FreeBSD(Marc)
|
||||
Bring in the PostODBC source tree as part of our standard distribution(Marc)
|
||||
A minor patch for HP/UX 10 vs 9(Stan)
|
||||
New pg_attribute.atttypmod for type-specific info like varchar length(Bruce)
|
||||
Unixware patches(Billy)
|
||||
New i386 'lock' for spin lock asm(Billy)
|
||||
Support for multiplexed backends is removed
|
||||
Start an OpenBSD port
|
||||
Start an AUX port
|
||||
Start a Cygnus port
|
||||
Add string functions to regression suite(Thomas)
|
||||
Expand a few function names formerly truncated to 16 characters(Thomas)
|
||||
Remove un-needed malloc() calls and replace with palloc()(Bruce)
|
||||
/contrib cleanup(Jun)
|
||||
Inline some small functions called for every row(Bruce)
|
||||
Alpha/linux fixes
|
||||
Hp/UX cleanups(Tom)
|
||||
Multi-byte regression tests(Soonmyung.)
|
||||
Remove --disabled options from configure
|
||||
Define PGDOC to use POSTGRESDIR by default
|
||||
Make regression optional
|
||||
Remove extra braces code to pgindent(Bruce)
|
||||
Add bsdi shared library support(Bruce)
|
||||
New --without-CXX support configure option(Brook)
|
||||
New FAQ_CVS
|
||||
Update backend flowchart in tools/backend(Bruce)
|
||||
Change atttypmod from int16 to int32(Bruce, Tom)
|
||||
Getrusage() fix for platforms that do not have it(Tom)
|
||||
Add PGUSER to libpq man page
|
||||
Ns32k platform fixes(Phil Nelson)
|
||||
Sco 7/UnixWare 2.x fixes(Billy,others)
|
||||
Sparc/Solaris 2.5 fixes(Ryan)
|
||||
Pgbuiltin.3 is obsolete, move to doc files(Thomas)
|
||||
Even more documention(Thomas)
|
||||
|
@ -27,9 +27,9 @@ System Configuration
|
||||
|
||||
Operating System (example: Linux 2.0.26 ELF) :
|
||||
|
||||
PostgreSQL version (example: PostgreSQL-6.3.2) : PostgreSQL-6.3.2
|
||||
PostgreSQL version (example: PostgreSQL-6.4) : PostgreSQL-6.4
|
||||
|
||||
Compiler used (example: gcc 2.7.2) :
|
||||
Compiler used (example: gcc 2.8.0) :
|
||||
|
||||
|
||||
Please enter a FULL description of your problem:
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
|
||||
(1998-05-31)
|
||||
(1998-09-01)
|
||||
PostgreSQL has a Web site at http://www.postgresql.org/ which carries details
|
||||
on the latest release, upcoming features, and other information to make your
|
||||
work or play with PostgreSQL more productive.
|
||||
|
@ -22,15 +22,15 @@ PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
|
||||
PGACCESS 0.86 29 March 1998
|
||||
PGACCESS 0.88 7 June 1998
|
||||
================================
|
||||
I dedicate this program to my little 4 year daughter Ana-Maria and my wife
|
||||
for their understanding. I hope they will forgive me for spending so many
|
||||
I dedicate this program to my little daughters Ana-Maria and Emilia and to my
|
||||
wife for their understanding. I hope they will forgive me for spending so many
|
||||
time far from them.
|
||||
|
||||
|
||||
|
||||
1.Why PGACCESS ?
|
||||
1.Why PgAccess ?
|
||||
|
||||
First of all because PostgreSQL lacks a graphical interface where you
|
||||
can manage your tables, edit them, define queries, sequences and
|
||||
@ -77,7 +77,7 @@ pgaccess.tcl file.
|
||||
|
||||
4.What does it now ?
|
||||
|
||||
- Opens any database on a specified host at the specified port.
|
||||
- Opens any database on a specified host at the specified port, username and password
|
||||
- Perform vacuum command.
|
||||
- Saves preferences in ~/pgaccessrc file
|
||||
|
||||
|
@ -13,12 +13,13 @@ PgAccess - a database management tool for <A HREF="http://www.postgreSQL.org">Po
|
||||
|
||||
<P>This program is protected by the following <A HREF="copyright.html">copyright</A>
|
||||
<LI>
|
||||
<A HREF="pgaccess-0.86.tar.gz">Download the last version of PgAccess (press
|
||||
<A HREF="pgaccess-0.88.tar.gz">Download the last version of PgAccess (press
|
||||
shift and click this link)</A>.</LI>
|
||||
|
||||
|
||||
<P>Latest version of PgAccess is 0.86 , 29 March 1998 !
|
||||
<BR>
|
||||
<P>Latest version of PgAccess is 0.88 , 7 June 1998 !
|
||||
<BR><br>
|
||||
<font color='red'><b>NEW * NEW * NEW *</b></font> Precompiled libpgtcl and libpq binaries for i386 are <a href='ftp://ftp.flex.ro/pub/pgaccess'> here </a>!!!
|
||||
<BR>
|
||||
<CENTER><TABLE BORDER=3 CELLSPACING=0 CELLPADDING=0 WIDTH="100%" BGCOLOR="#FFB6C1" >
|
||||
<TR>
|
||||
|
@ -8,12 +8,16 @@
|
||||
#
|
||||
global activetab;
|
||||
global dbc;
|
||||
global username;
|
||||
global password;
|
||||
global dbname;
|
||||
global host;
|
||||
global mw;
|
||||
global newdbname;
|
||||
global newhost;
|
||||
global newpport;
|
||||
global newusername;
|
||||
global newpassword;
|
||||
global pport;
|
||||
global pref;
|
||||
global qlvar;
|
||||
@ -986,12 +990,14 @@ proc {load_pref} {} {
|
||||
global pref
|
||||
set retval [catch {set fid [open "~/.pgaccessrc" r]}]
|
||||
if {$retval} {
|
||||
set pref(rows) 200
|
||||
set pref(tvfont) clean
|
||||
set pref(autoload) 1
|
||||
set pref(lastdb) {}
|
||||
set pref(lasthost) localhost
|
||||
set pref(lastport) 5432
|
||||
set pref(rows) 200
|
||||
set pref(tvfont) clean
|
||||
set pref(autoload) 1
|
||||
set pref(lastdb) {}
|
||||
set pref(lasthost) localhost
|
||||
set pref(lastport) 5432
|
||||
set pref(username) {}
|
||||
set pref(password) {}
|
||||
} else {
|
||||
while {![eof $fid]} {
|
||||
set pair [gets $fid]
|
||||
@ -1483,27 +1489,35 @@ if {$mw(row_edited)==$mw(nrecs)} {
|
||||
}
|
||||
|
||||
proc {open_database} {} {
|
||||
global dbc host pport dbname sdbname newdbname newhost newpport pref
|
||||
global dbc host pport dbname username password newusername newpassword sdbname newdbname newhost newpport pref
|
||||
catch {cursor_watch .dbod}
|
||||
if {[catch {set newdbc [pg_connect $newdbname -host $newhost -port $newpport]} msg]} {
|
||||
if {$newusername!=""} {
|
||||
set connres [catch {set newdbc [pg_connect -conninfo "host=$newhost port=$newpport dbname=$newdbname user=$newusername password=$newpassword"]} msg]
|
||||
} else {
|
||||
set connres [catch {set newdbc [pg_connect $newdbname -host $newhost -port $newpport]} msg]
|
||||
}
|
||||
if {$connres} {
|
||||
catch {cursor_arrow .dbod}
|
||||
show_error "Error connecting database\n$msg"
|
||||
} else {
|
||||
catch {pg_disconnect $dbc}
|
||||
set dbc $newdbc
|
||||
set host $newhost
|
||||
set pport $newpport
|
||||
set dbname $newdbname
|
||||
set sdbname $dbname
|
||||
set pref(lastdb) $dbname
|
||||
set pref(lasthost) $host
|
||||
set pref(lastport) $pport
|
||||
save_pref
|
||||
catch {cursor_arrow .dbod; Window hide .dbod}
|
||||
tab_click .dw.tabTables
|
||||
# Check for pga_ tables
|
||||
foreach {table structure} { pga_queries {queryname varchar(64),querytype char(1),querycommand text} pga_forms {formname varchar(64),formsource text} pga_scripts {scriptname varchar(64),scriptsource text} pga_reports {reportname varchar(64),reportsource text,reportbody text,reportprocs text,reportoptions text}} {
|
||||
set pgres [pg_exec $dbc "select relname from pg_class where relname='$table'"]
|
||||
catch {pg_disconnect $dbc}
|
||||
set dbc $newdbc
|
||||
set host $newhost
|
||||
set pport $newpport
|
||||
set dbname $newdbname
|
||||
set username $newusername
|
||||
set password $newpassword
|
||||
set sdbname $dbname
|
||||
set pref(lastdb) $dbname
|
||||
set pref(lasthost) $host
|
||||
set pref(lastport) $pport
|
||||
set pref(lastusername) $username
|
||||
save_pref
|
||||
catch {cursor_arrow .dbod; Window hide .dbod}
|
||||
tab_click .dw.tabTables
|
||||
# Check for pga_ tables
|
||||
foreach {table structure} { pga_queries {queryname varchar(64),querytype char(1),querycommand text} pga_forms {formname varchar(64),formsource text} pga_scripts {scriptname varchar(64),scriptsource text} pga_reports {reportname varchar(64),reportsource text,reportbody text,reportprocs text,reportoptions text}} {
|
||||
set pgres [pg_exec $dbc "select relname from pg_class where relname='$table'"]
|
||||
if {[pg_result $pgres -numTuples]==0} {
|
||||
pg_result $pgres -clear
|
||||
sql_exec quiet "create table $table ($structure)"
|
||||
@ -2430,22 +2444,21 @@ Window show .tiw
|
||||
set tiw(isunique) {}
|
||||
set tiw(isclustered) {}
|
||||
set tiw(indexfields) {}
|
||||
pg_select $dbc "select attnum,attname,typname,attlen,usename,pg_class.oid from pg_class,pg_user,pg_attribute,pg_type where (pg_class.relname='$tiw(tablename)') and (pg_class.oid=pg_attribute.attrelid) and (pg_class.relowner=pg_user.usesysid) and (pg_attribute.atttypid=pg_type.oid) order by attnum" rec {
|
||||
set fsize $rec(attlen)
|
||||
set ftype $rec(typname)
|
||||
if {$ftype=="varchar"} {
|
||||
incr fsize -4
|
||||
}
|
||||
if {$ftype=="bpchar"} {
|
||||
incr fsize -4
|
||||
}
|
||||
if {$ftype=="text"} {
|
||||
set fsize ""
|
||||
}
|
||||
if {$rec(attnum)>0} {.tiw.lb insert end [format "%-33s %-14s %-4s" $rec(attname) $ftype $fsize]}
|
||||
set tiw(owner) $rec(usename)
|
||||
set tiw(tableoid) $rec(oid)
|
||||
set tiw(f$rec(attnum)) $rec(attname)
|
||||
pg_select $dbc "select attnum,attname,typname,attlen,atttypmod,usename,pg_class.oid from pg_class,pg_user,pg_attribute,pg_type where (pg_class.relname='$tiw(tablename)') and (pg_class.oid=pg_attribute.attrelid) and (pg_class.relowner=pg_user.usesysid) and (pg_attribute.atttypid=pg_type.oid) order by attnum" rec {
|
||||
set fsize $rec(attlen)
|
||||
set fsize1 $rec(atttypmod)
|
||||
set ftype $rec(typname)
|
||||
if { $fsize=="-1" && $fsize1!="-1" } {
|
||||
set fsize $rec(atttypmod)
|
||||
incr fsize -4
|
||||
}
|
||||
if { $fsize1=="-1" && $fsize=="-1" } {
|
||||
set fsize ""
|
||||
}
|
||||
if {$rec(attnum)>0} {.tiw.lb insert end [format "%-33s %-14s %-4s" $rec(attname) $ftype $fsize]}
|
||||
set tiw(owner) $rec(usename)
|
||||
set tiw(tableoid) $rec(oid)
|
||||
set tiw(f$rec(attnum)) $rec(attname)
|
||||
}
|
||||
set tiw(indexlist) {}
|
||||
pg_select $dbc "select oid,indexrelid from pg_index where (pg_class.relname='$tiw(tablename)') and (pg_class.oid=pg_index.indrelid)" rec {
|
||||
@ -2540,10 +2553,12 @@ if {$retval} {
|
||||
}
|
||||
|
||||
proc {main} {argc argv} {
|
||||
global pref newdbname newpport newhost dbc
|
||||
global pref newdbname newpport newhost newusername newpassword dbc
|
||||
load libpgtcl.so
|
||||
catch {draw_tabs}
|
||||
load_pref
|
||||
set newusername {}
|
||||
set newpassword {}
|
||||
if {$argc>0} {
|
||||
set newdbname [lindex $argv 0]
|
||||
set newhost localhost
|
||||
@ -2553,6 +2568,7 @@ if {$argc>0} {
|
||||
set newdbname $pref(lastdb)
|
||||
set newhost $pref(lasthost)
|
||||
set newpport $pref(lastport)
|
||||
catch {set newusername $pref(lastusername)}
|
||||
open_database
|
||||
}
|
||||
wm protocol .dw WM_DELETE_WINDOW {
|
||||
@ -2636,7 +2652,7 @@ proc vTclWindow.about {base} {
|
||||
label $base.l2 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -relief groove -text {A Tcl/Tk interface to
|
||||
PostgreSQL
|
||||
by Constantin Teodorescu}
|
||||
label $base.l3 -borderwidth 0 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -relief sunken -text {vers 0.86}
|
||||
label $base.l3 -borderwidth 0 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -relief sunken -text {vers 0.88}
|
||||
label $base.l4 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -relief groove -text {You will always get the latest version at:
|
||||
http://www.flex.ro/pgaccess
|
||||
|
||||
@ -2662,33 +2678,92 @@ proc vTclWindow.dbod {base} {
|
||||
###################
|
||||
# CREATING WIDGETS
|
||||
###################
|
||||
toplevel $base -class Toplevel -cursor top_left_arrow
|
||||
toplevel $base -class Toplevel \
|
||||
-cursor top_left_arrow
|
||||
wm focusmodel $base passive
|
||||
wm geometry $base 282x128+353+310
|
||||
wm geometry $base 282x180+358+333
|
||||
wm maxsize $base 1009 738
|
||||
wm minsize $base 1 1
|
||||
wm overrideredirect $base 0
|
||||
wm resizable $base 0 0
|
||||
wm deiconify $base
|
||||
wm title $base "Open database"
|
||||
label $base.lhost -borderwidth 0 -relief raised -text Host
|
||||
entry $base.ehost -background #fefefe -borderwidth 1 -highlightthickness 1 -selectborderwidth 0 -textvariable newhost
|
||||
label $base.lport -borderwidth 0 -relief raised -text Port
|
||||
entry $base.epport -background #fefefe -borderwidth 1 -highlightthickness 1 -selectborderwidth 0 -textvariable newpport
|
||||
label $base.ldbname -borderwidth 0 -relief raised -text Database
|
||||
entry $base.edbname -background #fefefe -borderwidth 1 -highlightthickness 1 -selectborderwidth 0 -textvariable newdbname
|
||||
button $base.opbtu -borderwidth 1 -command open_database -padx 9 -pady 3 -text Open
|
||||
button $base.canbut -borderwidth 1 -command {Window hide .dbod} -padx 9 -pady 3 -text Cancel
|
||||
label $base.lhost \
|
||||
-borderwidth 0 -relief raised -text Host
|
||||
entry $base.ehost \
|
||||
-background #fefefe -borderwidth 1 -highlightthickness 1 \
|
||||
-selectborderwidth 0 -textvariable newhost
|
||||
bind $base.ehost <Key-Return> {
|
||||
focus .dbod.epport
|
||||
}
|
||||
label $base.lport \
|
||||
-borderwidth 0 -relief raised -text Port
|
||||
entry $base.epport \
|
||||
-background #fefefe -borderwidth 1 -highlightthickness 1 \
|
||||
-selectborderwidth 0 -textvariable newpport
|
||||
bind $base.epport <Key-Return> {
|
||||
focus .dbod.edbname
|
||||
}
|
||||
label $base.ldbname \
|
||||
-borderwidth 0 -relief raised -text Database
|
||||
entry $base.edbname \
|
||||
-background #fefefe -borderwidth 1 -highlightthickness 1 \
|
||||
-selectborderwidth 0 -textvariable newdbname
|
||||
bind $base.edbname <Key-Return> {
|
||||
focus .dbod.eusername
|
||||
.dbod.eusername selection range 0 end
|
||||
}
|
||||
label $base.lusername \
|
||||
-borderwidth 0 -relief raised -text Username
|
||||
entry $base.eusername \
|
||||
-background #fefefe -borderwidth 1 -highlightthickness 1 \
|
||||
-selectborderwidth 0 -textvariable newusername
|
||||
bind $base.eusername <Key-Return> {
|
||||
focus .dbod.epassword
|
||||
}
|
||||
label $base.lpassword \
|
||||
-borderwidth 0 -relief raised -text Password
|
||||
entry $base.epassword \
|
||||
-background #fefefe -borderwidth 1 -highlightthickness 1 \
|
||||
-selectborderwidth 0 -textvariable newpassword -show "*"
|
||||
bind $base.epassword <Key-Return> {
|
||||
focus .dbod.opbtu
|
||||
}
|
||||
button $base.opbtu \
|
||||
-borderwidth 1 -command open_database -padx 9 -pady 3 -text Open
|
||||
bind $base.opbtu <Key-Return> {
|
||||
open_database
|
||||
}
|
||||
button $base.canbut \
|
||||
-borderwidth 1 -command {Window hide .dbod} -padx 9 -pady 3 \
|
||||
-text Cancel
|
||||
###################
|
||||
# SETTING GEOMETRY
|
||||
###################
|
||||
place $base.lhost -x 35 -y 7 -anchor nw -bordermode ignore
|
||||
place $base.ehost -x 100 -y 5 -anchor nw -bordermode ignore
|
||||
place $base.lport -x 35 -y 32 -anchor nw -bordermode ignore
|
||||
place $base.epport -x 100 -y 30 -anchor nw -bordermode ignore
|
||||
place $base.ldbname -x 35 -y 57 -anchor nw -bordermode ignore
|
||||
place $base.edbname -x 100 -y 55 -anchor nw -bordermode ignore
|
||||
place $base.opbtu -x 70 -y 90 -width 60 -height 26 -anchor nw -bordermode ignore
|
||||
place $base.canbut -x 150 -y 90 -width 60 -height 26 -anchor nw -bordermode ignore
|
||||
place $base.lhost \
|
||||
-x 35 -y 7 -anchor nw -bordermode ignore
|
||||
place $base.ehost \
|
||||
-x 100 -y 5 -anchor nw -bordermode ignore
|
||||
place $base.lport \
|
||||
-x 35 -y 32 -anchor nw -bordermode ignore
|
||||
place $base.epport \
|
||||
-x 100 -y 30 -anchor nw -bordermode ignore
|
||||
place $base.ldbname \
|
||||
-x 35 -y 57 -anchor nw -bordermode ignore
|
||||
place $base.edbname \
|
||||
-x 100 -y 55 -anchor nw -bordermode ignore
|
||||
place $base.lusername \
|
||||
-x 35 -y 82 -anchor nw -bordermode ignore
|
||||
place $base.eusername \
|
||||
-x 100 -y 80 -anchor nw -bordermode ignore
|
||||
place $base.lpassword \
|
||||
-x 35 -y 107 -anchor nw -bordermode ignore
|
||||
place $base.epassword \
|
||||
-x 100 -y 105 -anchor nw -bordermode ignore
|
||||
place $base.opbtu \
|
||||
-x 70 -y 140 -width 60 -height 26 -anchor nw -bordermode ignore
|
||||
place $base.canbut \
|
||||
-x 150 -y 140 -width 60 -height 26 -anchor nw -bordermode ignore
|
||||
}
|
||||
|
||||
proc vTclWindow.dw {base} {
|
||||
@ -2755,7 +2830,8 @@ proc vTclWindow.dw {base} {
|
||||
Window show .dbod
|
||||
set newhost $host
|
||||
set newpport $pport
|
||||
focus .dbod.edbname} \
|
||||
focus .dbod.edbname
|
||||
.dbod.edbname selection range 0 end} \
|
||||
-label Open
|
||||
$base.menubutton23.01 add command \
|
||||
\
|
||||
@ -2972,6 +3048,12 @@ proc vTclWindow.iew {base} {
|
||||
place $base.oicb -x 170 -y 75 -anchor nw -bordermode ignore
|
||||
}
|
||||
|
||||
proc {mw_canvas_paste} {x y} {
|
||||
global mw
|
||||
.mw.c insert $mw(id_edited) insert [selection get]
|
||||
set mw(dirtyrec) 1
|
||||
}
|
||||
|
||||
proc vTclWindow.mw {base} {
|
||||
if {$base == ""} {
|
||||
set base .mw
|
||||
@ -3036,6 +3118,9 @@ if {[mw_save_new_record]} {mw_select_records $nq}
|
||||
bind $base.c <Button-1> {
|
||||
mw_canvas_click %x %y
|
||||
}
|
||||
bind $base.c <Button-2> {
|
||||
mw_canvas_paste %x %y
|
||||
}
|
||||
bind $base.c <Button-3> {
|
||||
if {[mw_exit_edit]} {mw_save_new_record}
|
||||
}
|
||||
|
@ -2,11 +2,9 @@ README
|
||||
INSTALL
|
||||
HISTORY
|
||||
register.txt
|
||||
configure.in
|
||||
doc/Machine-specific FAQ's
|
||||
doc/TODO
|
||||
doc/bug.template
|
||||
make new /mirgration file
|
||||
update include/version.h after release
|
||||
update backend/parser/scan.c and gram.c so flex/bison not necessary
|
||||
update pgaccess
|
||||
|
Loading…
Reference in New Issue
Block a user