Commit Graph

724 Commits

Author SHA1 Message Date
Peter Eisentraut
e21e121999 Translation update 2004-08-10 18:38:19 +00:00
Bruce Momjian
640d0dc0f0 Fix compiler warning in the proper way. 2004-08-08 07:00:22 +00:00
Bruce Momjian
6ec4520a5b Supress warning about zero-length format string. 2004-08-08 06:58:00 +00:00
Bruce Momjian
7ee3c35152 Allow libpgport to call memory allocation routines even though
CurrentMemoryContext is DLLIMPORT on Win32.  Work around that by
creating stubs in the backend for palloc/pstrdup.

Also fix pg_dumpall to do proper quoting on Win32.
2004-08-08 06:44:36 +00:00
Tom Lane
18661f282b Revert badly-broken patch to dump comments on composite-type columns. 2004-08-06 18:18:42 +00:00
Dennis Bjorklund
b4cd416ab0 Translation updates 2004-08-05 06:50:27 +00:00
Tom Lane
fcbc438727 Label CVS tip as 8.0devel instead of 7.5devel. Adjust various comments
and documentation to reference 8.0 instead of 7.5.
2004-08-04 21:34:35 +00:00
Tom Lane
576856b698 Dump comments on columns of composite types.
Instead of putting all the OWNER TO commands at the end, it dumps then
after each object.  This is WAY more readable and nice.  ACLs are still
at the end.

Christopher Kings-Lynne
2004-08-04 17:13:03 +00:00
Tom Lane
f0efe26402 Support USING INDEX TABLESPACE clause for PRIMARY KEY and UNIQUE
constraints.  Christopher Kings-Lynne.
2004-08-02 04:28:29 +00:00
Peter Eisentraut
ee2bfaa3aa Translation updates (zh_TW converted to UTF-8) 2004-08-01 17:54:22 +00:00
Peter Eisentraut
0ee0e73c9b Translation updates 2004-07-25 12:00:07 +00:00
Bruce Momjian
45995219a0 Here is another patch that fixes a stack of pg_dump bugs:
* Fix help text ordering

* Add back --set-session-authorization to pg_dumpall.  Updated the docs
for that.  Updated help for that.

* Dump ALTER USER commands for the cluster owner ("pgsql").  These are
dumped AFTER the create user and create database commands in case the
permissions to do these have been revoked.

* Dump ALTER OWNER for public schema (because it's possible to change
it).  This was done by adding TOC entries for the public schema, and
filtering them out at archiver time.  I also save the owner in the TOC
entry just for the public schema.

* Suppress dumping single quotes around schema_path and DateStyle
options when they are set using ALTER USER or ALTER DATABASE.  Added a
comment to the steps in guc.c to remind people to update that list.

* Fix dumping in --clean mode against a pre-7.3 server.  It just sets
all drop statements to assume the public schema, allowing it to restore
without error.

* Cleaned up text output.  eg. Don't output -- Tablespaces comment if
there are none.  Same for groups and users.

* Make the commands to DELETE FROM pg_shadow and DELETE FROM pg_group
only be output when -c mode is enabled.  I'm not sure why that hasn't
been done before?!?!

This should be good for application asap, after which I will start on
regression dumping 7.0-7.4 databases.

Christopher Kings-Lynne
2004-07-19 21:39:48 +00:00
Tom Lane
465edca3ec Fix incorrect tracking of session authorization in the presence of ACLs
that contain rights granted by non-owners.  Per bug report from
Nishad Prakash.
2004-07-19 21:02:17 +00:00
Bruce Momjian
dc0e76ca36 Change pg_dump to use ALTER OWNER commands instead of SET SESSION
AUTHORIZATION commands by default.  Move all GRANT and REVOKE commands
to the end of the dump to avoid restore failures in several situations.
Bring back --use-set-session-authorization option to get previous SET
behaviour

Christopher Kings-Lyne
2004-07-13 03:00:17 +00:00
Bruce Momjian
a0db74a35c This patch adds the following options to pg_dumpall, to be passed to
pg_dump:

-S, --superuser=NAME

-O, --no-owner

-X disable-dollar-quoting, --disable-dollar-quoting

-X disable-triggers, --disable-triggers

Christopher Kings-Lynne
2004-07-12 14:35:45 +00:00
Tom Lane
c14a43f657 Remove TABLESPACE option of CREATE SEQUENCE; sequences will now always
live in database or schema's default tablespace, as per today's discussion.
Also, remove some unused keywords from the grammar (PATH, PENDANT,
VERSION), and fix ALSO, which was added as a keyword but not added
to the keyword classification lists, thus making it worse-than-reserved.
2004-07-12 05:38:11 +00:00
Tom Lane
a0e842d81b Add pg_get_serial_sequence() function, and cause pg_dump to use it.
This eliminates the assumption that a serial column's sequence will
have the same name on reload that it was given in the original database.

Christopher Kings-Lynne
2004-06-25 17:20:29 +00:00
Dennis Bjorklund
c95246bd63 Translation updates 2004-06-24 22:21:22 +00:00
Tom Lane
ba6b87f330 Fix pg_dump and pg_dumpall for new names of built-in tablespaces,
per Chris K-L.
2004-06-21 13:36:42 +00:00
Tom Lane
2467394ee1 Tablespaces. Alternate database locations are dead, long live tablespaces.
There are various things left to do: contrib dbsize and oid2name modules
need work, and so does the documentation.  Also someone should think about
COMMENT ON TABLESPACE and maybe RENAME TABLESPACE.  Also initlocation is
dead, it just doesn't know it yet.

Gavin Sherry and Tom Lane.
2004-06-18 06:14:31 +00:00
Bruce Momjian
10a3d19ad4 Handle multiple double-quoted strings using Win32's system() call.
Document limitations.
2004-06-10 16:35:18 +00:00
Bruce Momjian
3a0df651da Use single quotes around pg_dump call from pg_dumpall. 2004-06-09 17:37:28 +00:00
Bruce Momjian
7ac67fd189 Add time.h to pg_dumpall. 2004-06-09 17:05:14 +00:00
Bruce Momjian
9136613803 Add start/stop times for pg_dump/pg_dumpall when verbose output is used. 2004-06-07 20:35:57 +00:00
Bruce Momjian
641c5b565b Slight code cleanup for printf's. 2004-06-05 04:27:48 +00:00
Bruce Momjian
6870843339 Add PGETC (for pg_service.conf) and PGLOCALE (for locale dir)
environment variable processing to libpq.

The patch also adds code to our client apps so we set the environment
variable directly based on our binary location, unless it is already
set. This will allow our applications to emit proper locale messages
that are generated in libpq.
2004-06-03 00:07:38 +00:00
Peter Eisentraut
c1010381ea Translation updates 2004-05-29 06:26:14 +00:00
Bruce Momjian
0d5364fd98 Fix problem with doing 7.0.X dumps on character varying[] fields.
Christopher Kings-Lynne
2004-05-26 18:24:22 +00:00
Bruce Momjian
228897774c Make the locale location relocatable.
Adjust get_*_path functions to be limited to MAXPGPATH.
2004-05-25 01:00:30 +00:00
Bruce Momjian
82695df3b7 Remove a few $filter() calls that were not needed. 2004-05-24 01:01:38 +00:00
Tom Lane
4fb9aa43f6 Clean up failure to remove exec.o on 'make clean'. 2004-05-22 02:14:28 +00:00
Tom Lane
7d717f2471 Rename static variables to avoid possible name conflicts on systems with
dirty standard headers (eg AIX).
2004-05-20 17:13:52 +00:00
Bruce Momjian
bef228d1ee Add end-of-dump markers for pg_dump and pg_dumpall. 2004-05-19 21:21:26 +00:00
Bruce Momjian
ecc198bd39 Re-add elog() to exec.c, per Tom. 2004-05-19 17:15:21 +00:00
Bruce Momjian
a9fad44372 Move find_my_exec() way up into main.c so it is available to the
timezone code and other places.

Remove elog() calls from find_my_exec;  do fprintf(stderr) instead.  We
can then remove the exec.c handling in the makefile because it doesn't
have to be built to suppress elog calls.
2004-05-18 20:18:59 +00:00
Bruce Momjian
9f944f0443 Adjust find_my_exec/find_other_exec() so that the return parameter is
last, not first.  This fits our style better.
2004-05-14 17:04:48 +00:00
Bruce Momjian
b1ffacddfc Rename find_my_binary/find_other_binary to
find_my_exec/find_other_exec().  Remove passing of progname to these
functions as they can find that out from argv[0], which they already
have.

Make get_progname return const char *, and update all progname variables
to be const char *.
2004-05-12 13:38:49 +00:00
Bruce Momjian
fda15b351a As part of the work for making relocatable installs, I have re-factored
all the code that looks for other binaries.  I move FindExec into
port/exec.c (and renamed it to find_my_binary()).  I also added
find_other_binary that looks for another binary in the same directory as
the calling program, and checks the version string.

The only behavior change was that initdb and pg_dump would look in the
hard-coded bindir directory if it can't find the requested binary in the
same directory as the caller.  The new code throws an error.  The old
behavior seemed too error prone for version mismatches.
2004-05-11 21:57:15 +00:00
Tom Lane
0bd61548ab Solve the 'Turkish problem' with undesirable locale behavior for case
conversion of basic ASCII letters.  Remove all uses of strcasecmp and
strncasecmp in favor of new functions pg_strcasecmp and pg_strncasecmp;
remove most but not all direct uses of toupper and tolower in favor of
pg_toupper and pg_tolower.  These functions use the same notions of
case folding already developed for identifier case conversion.  I left
the straight locale-based folding in place for situations where we are
just manipulating user data and not trying to match it to built-in
strings --- for example, the SQL upper() function is still locale
dependent.  Perhaps this will prove not to be what's wanted, but at
the moment we can initdb and pass regression tests in Turkish locale.
2004-05-07 00:24:59 +00:00
Bruce Momjian
04d426ba70 Allow build of timezone database on unix. 2004-04-30 20:01:39 +00:00
Bruce Momjian
efc34e29a2 Add $(X) for cross-compiling. Seems the mingw compiler running on
FreeBSD doesn't add .EXE to links.

Michiel Ephraim
2004-04-26 17:40:48 +00:00
Bruce Momjian
ec7c4c1b66 Please find attached a small patch so that "pg_restore" ignores some sql
errors. This is the second submission, which integrates Tom comments about
localisation and exit code. I also added some comments about one sql
command which is not ignored.

Fabien COELHO
2004-04-22 02:39:10 +00:00
Peter Eisentraut
0117ed7d4c Translation updates 2004-04-15 08:15:09 +00:00
Peter Eisentraut
a45f9e4e52 Translation updates 2004-04-15 08:04:05 +00:00
Dennis Bjorklund
03f0604643 Translation updates 2004-04-02 13:42:26 +00:00
Bruce Momjian
f23cce73b3 Use the new GUC variable default_with_oids in pg_dump, rather than using
WITH/WITHOUT OIDS in dump files.  This makes dump files more portable.

I have updated the pg_dump version so old binary dumps will load fine.

Pre-7.5 dumps use WITHOUT OIDS in SQL were needed, so they should be
fine.
2004-03-24 03:06:08 +00:00
Tom Lane
f862c42009 Use dollar-quoting for function bodies, unless disabled with
--disable-dollar-quoting.

Andrew Dunstan
2004-03-23 22:06:08 +00:00
Tom Lane
05649b88c7 Rewrite pg_dump's comment-dumping code to pull over all the comments
in one query, rather than making a separate query for each object that
could have a comment.  This costs relatively little space (a few tens of
K typically) and saves substantial time in databases with many objects.
I find it reduces the runtime of 'pg_dump -s regression' by about a
third.
2004-03-20 20:09:45 +00:00
Dennis Bjorklund
fe6e922136 Translation updates 2004-03-11 15:48:57 +00:00
Tom Lane
9e733eab69 Modify pg_dump so that the preferred dump order is by name within
object types, rather than by OID.  This should help ensure consistent
dump output from databases that are logically the same but have different
histories, per recent discussion about 'diffing' databases.  The patch
is bulky because of renaming of fields, but not very complicated.
Also, do some tweaking to cause BLOB restoration to be done in a better
order, and clean up pg_restore's textual output to exactly match pg_dump.
2004-03-03 21:28:55 +00:00
Tom Lane
0c6e97db47 Always schema-qualify the name of a function referenced in CREATE CAST.
The former coding failed if the cast function was not in the pg_catalog
schema.  How'd this escape detection?
2004-03-02 21:14:44 +00:00
Dennis Bjorklund
90aac56562 Translation updates 2004-02-28 11:00:06 +00:00
Tom Lane
92bec9a0bc Cause pg_dump to emit a 'SET client_encoding' command at the start of
any restore operation, thereby ensuring that dumped data is interpreted
the same way it was dumped even if the target database has a different
encoding.  Per suggestions from Pavel Stehule and others.  Also,
simplify scheme for handling check_function_bodies ... we may as well
just set that at the head of the script.
2004-02-24 03:35:19 +00:00
Tom Lane
69946411d3 Add hooks for type-specific calculation of ANALYZE statistics. Idea and
coding by Mark Cave-Ayland, some kibitzing by Tom Lane.  initdb forced
due to new column in pg_type.
2004-02-12 23:41:04 +00:00
Tom Lane
2d330199c4 Add missing dependency, per Wade Klaver. 2004-02-07 07:20:12 +00:00
Tom Lane
5ad7d65da4 Fix incorrect dumping of database LOCATION from 7.0.* servers.
Per report from Mattias Kregert.
2004-01-22 19:09:32 +00:00
Peter Eisentraut
cf4c925dd4 Translation updates 2004-01-10 22:18:28 +00:00
Dennis Bjorklund
a76c86c7c1 Translation updates 2004-01-09 20:36:00 +00:00
Tom Lane
6400d69d87 pg_dump support for function parameter names. 2004-01-07 00:44:21 +00:00
Tom Lane
9a4ef0c562 Fix ReadOffset() to work correctly when off_t is wider than int. 2004-01-04 04:02:15 +00:00
Tom Lane
cd2ad9b944 Fix a number of places where reconfiguring with a different installation
prefix would fail, because the new path did not get propagated to where
it needed to be.  Note this would fail even with --enable-depend.
2003-12-23 21:56:21 +00:00
Peter Eisentraut
f39748a70f Forbid REVOKE on untrusted languages, and don't dump privileges of
untrusted languages (in case they sneak in).
2003-12-19 14:21:56 +00:00
Tom Lane
918b158743 Work around naming conflict between zlib and OpenSSL by tweaking inclusion
order.  Remove some unnecessary #includes (that duplicate c.h).
2003-12-08 16:39:05 +00:00
Tom Lane
649c1a11e6 One more pass at reducing the cost of pg_dump's new implementation:
reduce the number of times TopoSort() has to be executed by trying to
extract multiple dependency loops from each pass, instead of only one.
This saves about another factor of ten on the regression database.
This could be considered as another exercise in grokking Fred Brooks'
maxim: Representation *is* the essence of programming.
2003-12-07 05:44:50 +00:00
Tom Lane
7bb11a93e1 Speed up findObjectByCatalogId() to get rid of the other salient
bottleneck in the new pg_dump code.
2003-12-07 03:14:01 +00:00
Tom Lane
79273cc7d2 Replace not-very-bright implementation of topological sort with a better
one (use a priority heap to keep track of items ready to output, instead
of searching the input array each time).  This brings the runtime of
pg_dump back to about what it was in 7.4.
2003-12-06 22:55:11 +00:00
Tom Lane
005a1217fb Massive overhaul of pg_dump: make use of dependency information from
pg_depend to determine a safe dump order.  Defaults and check constraints
can be emitted either as part of a table or domain definition, or
separately if that's needed to break a dependency loop.  Lots of old
half-baked code for controlling dump order removed.
2003-12-06 03:00:16 +00:00
Bruce Momjian
7ce9b7c0d8 This patch adds a new GUC var, "default_with_oids", which follows the
proposal for eventually deprecating OIDs on user tables that I posted
earlier to pgsql-hackers. pg_dump now always specifies WITH OIDS or
WITHOUT OIDS when dumping a table. The documentation has been updated.

Neil Conway
2003-12-01 22:08:02 +00:00
PostgreSQL Daemon
55b113257c make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
PostgreSQL Daemon
969685ad44 $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
Tom Lane
e91e640b80 Avoid using string literal with embedded newline. 2003-11-24 17:25:14 +00:00
Tom Lane
42ce74bf17 COMMENT ON casts, conversions, languages, operator classes, and
large objects.  Dump all these in pg_dump; also add code to pg_dump
user-defined conversions.  Make psql's large object code rely on
the backend for inserting/deleting LOB comments, instead of trying to
hack pg_description directly.  Documentation and regression tests added.

Christopher Kings-Lynne, code reviewed by Tom
2003-11-21 22:32:49 +00:00
Peter Eisentraut
7397819f78 Translation updates 2003-11-14 23:59:12 +00:00
Peter Eisentraut
bc010cd9ef Translation update 2003-10-31 22:14:15 +00:00
Tom Lane
e554e2b090 Don't choke when the handler for a procedural language is located in
the pg_catalog schema.  Per bug report some months back from Jochem van Dieten.
2003-10-28 21:05:29 +00:00
Peter Eisentraut
002e7b3789 Translation updates 2003-10-25 18:03:21 +00:00
Peter Eisentraut
b3be5e65e8 Translation updates 2003-10-24 12:07:56 +00:00
Tom Lane
10add9d8ca Fix findLastBuiltinOid_V70() to deliver correct result when running
against a 7.0 server.

Christopher Kings-Lynne
2003-10-21 04:46:28 +00:00
Tom Lane
3b64171edb Complain if pg_restore is given both -d and -f options; this suggests
the user is confused about whether -f is input or output file.
2003-10-20 21:05:12 +00:00
Peter Eisentraut
e9b2b56c23 New translation 2003-10-15 09:49:07 +00:00
Peter Eisentraut
108f371769 Translation updates 2003-10-10 08:01:44 +00:00
Peter Eisentraut
c99a41be95 New translations 2003-10-08 18:38:49 +00:00
Bruce Momjian
bdae05f5d1 Use calloc() to allocate empty structures.
Fix pg_restore tar log output bug where Special flag wasn't being
initialized; bug seen on XP.
2003-10-08 03:52:32 +00:00
Peter Eisentraut
f98cbb76a0 Translation updates 2003-10-06 17:37:39 +00:00
Peter Eisentraut
eceff4cc55 Translation updates 2003-10-05 21:52:37 +00:00
Peter Eisentraut
75e76e1cf5 Translation updates 2003-10-04 01:07:05 +00:00
Tom Lane
ef88199f61 Issue 'SET check_function_bodies = false' to suppress possible restore
failures in SQL functions, due to forward references or unqualified
references to objects in other schemas.  Per recent discussion.
2003-10-03 20:10:59 +00:00
Peter Eisentraut
55fbc98b3f Adjust the new Norwegian translation for some of the easier message
changes between 7.3 and 7.4, for example quoting and function names.
2003-09-29 16:41:33 +00:00
Peter Eisentraut
a776bd9b69 New Norwegian translation by Trond Endrestøl, actually made for 7.3, but
this should help people get started in 7.4 as well.
2003-09-29 10:57:06 +00:00
Tom Lane
0ac697b269 Remove erroneous restriction that -t cannot be used to select a
sequence for dumping.
2003-09-27 22:10:01 +00:00
Jan Wieck
a6790ce857 Changed the logic when a CAST is dumped according to discussion
on pgsql-hackers.

A cast is included in the dump output if any of the objects does
not belong to a system namespace and all of the non-system namespace
objects belong to dumped namespaces. System namespace is defined
as nspname begins with "pg_".

Jan
2003-09-27 15:34:06 +00:00
Tom Lane
a9e9abebd9 Issue CREATE SCHEMA as the originally connecting user, with an
AUTHORIZATION clause to specify the desired owner.  This allows a
superuser to restore schemas owned by users without CREATE-SCHEMA
permissions (ie, schemas originally created by a superuser using
AUTHORIZATION).  --no-owner can be specified to suppress the
AUTHORIZATION clause if need be.
2003-09-23 23:31:52 +00:00
Tom Lane
6767cebc6f pg_dump/pg_restore now always use SET SESSION AUTHORIZATION, not \connect,
to control object ownership.  The use-set-session-authorization and
no-reconnect switches are obsolete (still accepted on the command line,
but they don't do anything).  This is a precursor to fixing handling
of CREATE SCHEMA, which will be a separate commit.
2003-09-23 22:48:53 +00:00
Peter Eisentraut
278a13fe47 Translation updates 2003-09-22 00:27:01 +00:00
Peter Eisentraut
6f57d63cb4 Message wording improvements 2003-09-22 00:23:35 +00:00
Tom Lane
f72a93b4c9 pg_dump missed comments attached to primary key or unique constraints
(as distinct from their underlying indexes).  Per bug report from
Hiroshi Saito.
2003-09-19 23:15:18 +00:00
Peter Eisentraut
7ce5f25b5b Translation updates 2003-09-15 20:42:40 +00:00
Tom Lane
209a8d63df pg_dump and pg_restore -r had managed to diverge on the ordering of
different object types.  Fix, and centralize logic to try to prevent
the same mistake in future.
2003-08-28 20:21:34 +00:00
Tom Lane
80bc61c849 Ensure that FK constraints are dumped after primary/unique constraints,
rather than relying on OID order of pg_constraint entries.  Per gripe
from Greg Stark.
2003-08-28 18:59:06 +00:00
Tom Lane
2b5f049f7c Handle double-quotes correctly in user names in ACL lists.
Christopher Kings-Lynne
2003-08-14 14:19:11 +00:00