Commit graph

947 commits

Author SHA1 Message Date
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
Vadim B. Mikheev
2c7de17b07 New file naming. Database OID is used as "tablespace" id and
relation OID is used as file node on creation but may be changed later
if required. Regression Tests Approved (c) -:)))
2000-10-16 14:52:28 +00:00
Bruce Momjian
07a55ebf64 I submitted three patches to pgsql-patches@postgresql.org on Oct 13.
Only two have shown up on the web site.  Even the mbox is missing the
second.

The missing patch is a one-liner, so here it is.  I can resend the
whole bug report if wanted.

Pete Forman
2000-10-16 14:34:08 +00:00
Philip Warner
14f214de59 Minor buglet in dumping functions onlt 2000-10-13 03:11:06 +00:00
Philip Warner
1b1dbb861d Fix bug in sequence dumping using new setval function 2000-10-13 00:43:31 +00:00
Bruce Momjian
78f69862af Rename pg-config to pg_config to be consistent with other pg commands. 2000-10-10 22:01:55 +00:00
Philip Warner
f350481134 - Be more paranoid when getting views
- Support for 'isstrict' procedure attribute.
- Disable --blobs and --table
(replaced prior to attempting to fix sequence dump problems)
2000-10-10 13:55:28 +00:00
Bruce Momjian
7ea8403c8a The beos port in the source tree doesn't even compile. and even
after that dynamic loading isn't working and shared memory handling is
broken.

        Attached with this message, there is a Zip file which contain :

        * beos.diff = patch file generated with difforig
        * beos = folder with beos support files which need to be moved in /
src/backend/port
        * expected = foler with three file for message and precision
difference in regression test
        * regression.diff = rule problem (need to kill the backend manualy)
        * dynloader = dynloader files (they are also in the pacth files,
but there is so much modification that I have join full files)

        Everything works except a problem in 'rules' Is there some problems
with rules in the current tree ? It used to works with last week tree.

Cyril VELTER
2000-10-07 14:39:21 +00:00
Bruce Momjian
b32685a999 Add proofreader's changes to docs.
Fix misspelling of disbursion to dispersion.
2000-10-05 19:48:34 +00:00
Peter Eisentraut
831e78e0c4 Better coding of readline tests 2000-10-03 19:50:21 +00:00
Peter Eisentraut
6f64c2e54a New unified regression test driver, test/regress makefile cleanup,
add "check" and "installcheck" targets, straighten out make variable naming
of host_os, host_cpu, etc.
2000-09-29 17:17:41 +00:00
Peter Eisentraut
30826ce8e3 Enable initdb to create several levels of directories for PGDATA, if
`mkdir -p' works.
2000-09-29 13:38:02 +00:00
Peter Eisentraut
f428d053ce Revise Tcl/Tk configuration. Make missing Tcl after --with-tcl an error,
add --without-tk option to disable Tk.  We don't need the AC_PATH_XTRA
test because tkConfig.sh already contains all the information about how to
compile and link with X.  Also make sure that libpq is up to date for
libpgtcl.  Remove executable bits from pgaccess.sh, but add it to pgaccess.
2000-09-25 22:23:01 +00:00
Peter Eisentraut
27777b6645 Don't free() the result of getpwuid().
Discovered by Jason Tishler <Jason.Tishler@dothill.com>.
2000-09-22 23:02:00 +00:00
Philip Warner
7cce011178 Only retrieve view definition if relation is a view (case statement) 2000-09-18 06:47:46 +00:00
Philip Warner
565afb889d Uses column select expressions to get object object owners and tests for blank names 2000-09-18 03:24:03 +00:00