Commit Graph

962 Commits

Author SHA1 Message Date
Bruce Momjian
23bd779176 Change ET_WARN to ET_NOTICE to match internal codes, leave message as
WARNING.  Fix German FAQ mention about warning.
2000-12-15 20:01:55 +00:00
Peter Eisentraut
207f6ed3f1 Print the error message before attempting to reset the connection after a
backend crash.
2000-12-15 17:54:43 +00:00
Tom Lane
5cf81b3c06 Silence compiler warning. 2000-12-07 02:52:27 +00:00
Tom Lane
a27b691e29 Ensure that all uses of <ctype.h> functions are applied to unsigned-char
values, whether the local char type is signed or not.  This is necessary
for portability.  Per discussion on pghackers around 9/16/00.
2000-12-03 20:45:40 +00:00
Peter Eisentraut
e7c80220d3 Fix counting of lines in scripts with 'copy from stdin'. 2000-12-03 15:39:38 +00:00
Peter Eisentraut
13dbd0276a Final(?) GUC clean-up. Update psql tab completion. 2000-12-03 14:36:47 +00:00
Peter Eisentraut
e5ba2fc5b5 Make all commands that link a program look like
$(CC) $(CFLAGS) $(LDFLAGS) <object files> <extra-libraries> $(LIBS) -o $@

This form seemed to be the most portable, readable, and logical, but in any
case it's better than having a dozen different ones in the tree.
2000-11-30 20:36:13 +00:00
Tom Lane
792b0f4666 Get rid of not-very-portable fcntl(F_SETLK) mechanism for locking the Unix
socket file, in favor of having an ordinary lockfile beside the socket file.
Clean up a few robustness problems in the lockfile code.  If postmaster is
going to reject a connection request based on database state, it will now
tell you so before authentication exchange not after.  (Of course, a failure
after is still possible if conditions change meanwhile, but this makes life
easier for a yet-to-be-written pg_ping utility.)
2000-11-29 20:59:54 +00:00
Bruce Momjian
6f11e6dffa This patch allow pg_dump save name of primary key constraint (if primary
key exist).

awn@bcs.zp.ua
2000-11-27 20:51:40 +00:00
Tom Lane
c6f0bff1f1 Pay attention to fgets() failure return. 2000-11-27 03:58:58 +00:00
Tom Lane
c5bbbb2845 Pay attention to fgets() failure return. 2000-11-27 03:53:13 +00:00
Tom Lane
92fd384779 After going to the trouble of finding where psql lives, seems like
pg_ctl should invoke it from there, not use whatever random psql might
(or might not) live in its $PATH.
2000-11-27 02:50:17 +00:00
Tom Lane
9c5327b99b Pay attention to failure returns from fgets() in all cases.
Avoid infinite loop prompting for password at stdin EOF.
2000-11-27 02:20:36 +00:00
Tom Lane
e8a72c0db2 Prevent simple_prompt() from locking up in a tight loop at stdin EOF. 2000-11-27 01:28:40 +00:00
Peter Eisentraut
ca1c7e662f Silence warning 2000-11-26 11:09:32 +00:00
Peter Eisentraut
fc6603ff75 Advertise --help (rather than '-?') as help option (problems with csh).
Accept --help even if no general long options support exists.
2000-11-25 19:05:44 +00:00
Peter Eisentraut
c25b4dbf03 Update pg_ctl ref page, help output, messages. Some repair to work better
with current postmaster.
2000-11-25 17:17:30 +00:00
Bruce Momjian
63edc5c4e0 Fix security problem with psql \e where temp file could be an existing
symlink created by someone else, and therefore modifyable by someone else.
2000-11-25 06:21:54 +00:00
Peter Eisentraut
249fe81c99 Print bit strings as B'...' when INSERT commands are dumped. 2000-11-24 22:32:26 +00:00
Tom Lane
040bb787bc Install the sample pg_ident.conf file into /home/postgres/testversion/data, just like pg_hba.conf. 2000-11-21 20:55:57 +00:00
Tom Lane
fdbd6ca75e Simplify definition of pg_tables and pg_views views by making use of
new separate relkind for views (per some discussion back in September).
I didn't force initdb, but rules regress test will show differences
until you do one.
2000-11-21 01:11:50 +00:00
Tom Lane
5bb2300b59 Revise handling of oldstyle/newstyle functions per recent discussions
in pghackers list.  Support for oldstyle internal functions is gone
(no longer needed, since conversion is complete) and pg_language entry
'internal' now implies newstyle call convention.  pg_language entry
'newC' is gone; both old and newstyle dynamically loaded C functions
are now called language 'C'.  A newstyle function must be identified
by an associated info routine.  See src/backend/utils/fmgr/README.
2000-11-20 20:36:57 +00:00
Peter Eisentraut
714384a0b2 Polish error messages, help output, give marginal clue about command line
option conventions.  (E.g., "pg_passwd -?" should not write to a file named
"-?".)
2000-11-18 19:02:03 +00:00
Peter Eisentraut
f999912658 Simplification: Build executable directly from .c file. 2000-11-18 19:00:23 +00:00
Bruce Momjian
312063c97b Make pgsql compile on FreeBSD-alpha.
Context diff this time.

Remove -m486 compile args for FreeBSD-i386, compile -O2 on i386.

Compile with only -O on alpha for codegen safety.

Make the port use the TEST_AND_SET for alpha and i386 on FreeBSD.

Fix a lot of bogus string formats for outputting pointers (cast to int
and %u/%x replaced with no cast and %p), and 'Size'(size_t) are now
cast to 'unsigned long' and output with %lu/

Remove an unused variable.

Alfred Perlstein
2000-11-16 05:51:07 +00:00
Tom Lane
2cf48ca04b Extend CREATE DATABASE to allow selection of a template database to be
cloned, rather than always cloning template1.  Modify initdb to generate
two identical databases rather than one, template0 and template1.
Connections to template0 are disallowed, so that it will always remain
in its virgin as-initdb'd state.  pg_dumpall now dumps databases with
restore commands that say CREATE DATABASE foo WITH TEMPLATE = template0.
This allows proper behavior when there is user-added data in template1.
initdb forced!
2000-11-14 18:37:49 +00:00
Bruce Momjian
ebd61ac03f Remove -k unix socketpath option from client side, allow hostname with
leading slash to behave as a unix socket path.
2000-11-13 23:37:54 +00:00
Bruce Momjian
2150c2edf1 UUNET is looking into offering PostgreSQL as a part of a managed web
hosting product, on both shared and dedicated machines.  We currently
offer Oracle and MySQL, and it would be a nice middle-ground.
However, as shipped, PostgreSQL lacks the following features we need
that MySQL has:

1. The ability to listen only on a particular IP address.  Each
   hosting customer has their own IP address, on which all of their
   servers (http, ftp, real media, etc.) run.
2. The ability to place the Unix-domain socket in a mode 700 directory.
   This allows us to automatically create an empty database, with an
   empty DBA password, for new or upgrading customers without having
   to interactively set a DBA password and communicate it to (or from)
   the customer.  This in turn cuts down our install and upgrade times.
3. The ability to connect to the Unix-domain socket from within a
   change-rooted environment.  We run CGI programs chrooted to the
   user's home directory, which is another reason why we need to be
   able to specify where the Unix-domain socket is, instead of /tmp.
4. The ability to, if run as root, open a pid file in /var/run as
   root, and then setuid to the desired user.  (mysqld -u can almost
   do this; I had to patch it, too).

The patch below fixes problem 1-3.  I plan to address #4, also, but
haven't done so yet.  These diffs are big enough that they should give
the PG development team something to think about in the meantime :-)
Also, I'm about to leave for 2 weeks' vacation, so I thought I'd get
out what I have, which works (for the problems it tackles), now.

With these changes, we can set up and run PostgreSQL with scripts the
same way we can with apache or proftpd or mysql.

In summary, this patch makes the following enhancements:

1. Adds an environment variable PGUNIXSOCKET, analogous to MYSQL_UNIX_PORT,
   and command line options -k --unix-socket to the relevant programs.
2. Adds a -h option to postmaster to set the hostname or IP address to
   listen on instead of the default INADDR_ANY.
3. Extends some library interfaces to support the above.
4. Fixes a few memory leaks in PQconnectdb().

The default behavior is unchanged from stock 7.0.2; if you don't use
any of these new features, they don't change the operation.

David J. MacKenzie
2000-11-13 15:18:15 +00:00
Peter Eisentraut
8095924bdd Make sure shell scripts send error messages to stderr.
Improve help output.
Teach droplang to remove 'pltclu'.
2000-11-11 22:59:48 +00:00
Vadim B. Mikheev
b0299c5d37 Auto checkpoint creation. 2000-11-09 11:26:00 +00:00
Peter Eisentraut
c6d103a494 Dump identity of alternative location, if any. 2000-11-08 18:23:44 +00:00
Peter Eisentraut
306c44eead Add -V option to backend, to show version, since --version doesn't seem
to work everywhere.  Also, on FreeBSD you need to set the optreset variable
to 1 before parsing the command line a second time with getopt().
2000-11-06 22:18:10 +00:00
Peter Eisentraut
1f2f53c648 Since the backend now handles relative PGDATA, initdb doesn't have to work
around anymore.
2000-11-04 12:47:48 +00:00
Peter Eisentraut
b7f4c64202 Add pg_dumpall --accounts-only option. 2000-11-02 21:13:32 +00:00
Peter Eisentraut
26c825e4b0 Allow initdb to handle relative paths for PGDATA, by converting them to
absolute before starting a backend.
2000-11-02 19:48:39 +00:00
Philip Warner
44954fae08 Added long-standing transaction when restoring BLOBS (uses commit every BLOB_BATCH_SIZE)
Prevent dumping of languages from template1.
2000-10-31 14:20:30 +00:00
Peter Eisentraut
2044bdcca0 Should be "test =", not "test ==". 2000-10-29 11:36:44 +00:00
Peter Eisentraut
3280cba2ac Make initdb safe against using
a) mismatching backend program, by checking --version output
b) mismatching bki files, by putting a version-identifying comment atop
   those files.
2000-10-28 22:14:14 +00:00
Tom Lane
4ad9fe4ce5 Teach psql about new relkind for views. 2000-10-25 20:36:52 +00:00
Philip Warner
48f0490809 Final (?) fix for tar (null block at end)
Dump template db in dumpall
2000-10-25 10:21:38 +00:00
Peter Eisentraut
7300a28a67 Ignore missing postmaster.opts.default file. 2000-10-24 19:11:15 +00:00
Philip Warner
9cbb5fcd2b Various fixes to TAR header format
Fix for endian bug in TAR output
Nicer error messages in pg_dump
2000-10-24 13:24:30 +00:00
Tom Lane
4b70629b92 Rejigger do_lo_list's query so that obj_description() is evaluated only
once per distinct LO, not once per pg_largeobject tuple.
2000-10-24 04:13:28 +00:00
Tom Lane
4f44aa04b5 Major overhaul of large-object implementation, by Denis Perchine with
kibitzing from Tom Lane.  Large objects are now all stored in a single
system relation "pg_largeobject" --- no more xinv or xinx files, no more
relkind 'l'.  This should offer substantial performance improvement for
large numbers of LOs, since there won't be directory bloat anymore.
It'll also fix problems like running out of locktable space when you
access thousands of LOs in one transaction.
Also clean up cruft in read/write routines.  LOs with "holes" in them
(never-written byte ranges) now work just like Unix files with holes do:
a hole reads as zeroes but doesn't occupy storage space.
INITDB forced!
2000-10-24 01:38:44 +00:00
Philip Warner
e91932eb5a Cleanup error messages in findLastBuiltinOid 2000-10-22 23:16:55 +00:00
Philip Warner
3cf6e94844 Use new datlastsysoid field in pg_database + some cleanups & fixes 2000-10-22 18:13:09 +00:00
Philip Warner
4ac174213f Add new datlastsysoid to pg_database.
This field stores the last allocated OID after the database was created.
Used by pg_dump in deciding what is user-defined vs. system-defined.
2000-10-22 17:55:49 +00:00
Bruce Momjian
aa23c70522 BACKED OUT.
> Regression tests opr_sanity and sanity_check are now failing.

Um, Bruce, I've said several times that I didn't think Perchine's large
object changes should be applied until someone had actually reviewed
them.
2000-10-22 05:27:23 +00:00
Bruce Momjian
293d1e5f2c here it is as requested by Bruce.
I tested it restoring my database with > 100000 BLOBS, and dumping it out.
But unfortunatly I can not restore it back due to problems in pg_dump.

--
Sincerely Yours,
Denis Perchine
2000-10-21 15:55:29 +00:00
Peter Eisentraut
805e431a38 Add support for VPATH builds, that is, building somewhere else than in the
source directory.  This involves mostly makefiles using $(srcdir) when they
might have used ".".  (Regression tests don't work with this, yet.)

Sort out usage of CPPFLAGS, CFLAGS (and CXXFLAGS).  Add "override" keyword
in most places, to preserve necessary flags even when the user overrode the
flags.
2000-10-20 21:04:27 +00:00