1. 12 Jul, 2002 1 commit
    • Tom Lane's avatar
      Second phase of committing Rod Taylor's pg_depend/pg_constraint patch. · 7c6df91d
      Tom Lane authored
      pg_relcheck is gone; CHECK, UNIQUE, PRIMARY KEY, and FOREIGN KEY
      constraints all have real live entries in pg_constraint.  pg_depend
      exists, and RESTRICT/CASCADE options work on most kinds of DROP;
      however, pg_depend is not yet very well populated with dependencies.
      (Most of the ones that are present at this point just replace formerly
      hardwired associations, such as the implicit drop of a relation's pg_type
      entry when the relation is dropped.)  Need to add more logic to create
      dependency entries, improve pg_dump to dump constraints in place of
      indexes and triggers, and add some regression tests.
      7c6df91d
  2. 20 Jun, 2002 1 commit
  3. 21 May, 2002 1 commit
  4. 17 May, 2002 1 commit
  5. 09 May, 2002 1 commit
  6. 27 Apr, 2002 1 commit
    • Tom Lane's avatar
      Support toasting of shared system relations, and provide toast tables for · c06f6a6b
      Tom Lane authored
      pg_database, pg_shadow, pg_group, all of which now have potentially-long
      fields.  Along the way, get rid of SharedSystemRelationNames list: shared
      rels are now identified in their include/pg_catalog/*.h files by a
      BKI_SHARED_RELATION macro, while indexes and toast rels inherit sharedness
      automatically from their parent table.  Fix some bugs with failure to detoast
      pg_group.grolist during ALTER GROUP.
      c06f6a6b
  7. 21 Apr, 2002 1 commit
    • Tom Lane's avatar
      Restructure AclItem representation so that we can have more than eight · b0bcf8aa
      Tom Lane authored
      different privilege bits (might as well make use of the space we were
      wasting on padding).  EXECUTE and USAGE bits for procedures, languages
      now are separate privileges instead of being overlaid on SELECT.  Add
      privileges for namespaces and databases.  The GRANT and REVOKE commands
      work for these object types, but we don't actually enforce the privileges
      yet...
      b0bcf8aa
  8. 19 Apr, 2002 1 commit
  9. 18 Apr, 2002 1 commit
    • Tom Lane's avatar
      Rule names are now unique per-relation, rather than unique globally. · b3120804
      Tom Lane authored
      DROP RULE and COMMENT ON RULE syntax adds an 'ON tablename' clause,
      similar to TRIGGER syntaxes.  To allow loading of existing pg_dump
      files containing COMMENT ON RULE, the COMMENT code will still accept
      the old syntax --- but only if the target rulename is unique across
      the whole database.
      b3120804
  10. 15 Apr, 2002 1 commit
  11. 04 Apr, 2002 1 commit
    • Bruce Momjian's avatar
      Authentication improvements: · 43a3543a
      Bruce Momjian authored
      A new pg_hba.conf column, USER
      Allow specifiction of lists of users separated by commas
      Allow group names specified by +
      Allow include files containing lists of users specified by @
      Allow lists of databases, and database files
      Allow samegroup in database column to match group name matching dbname
      Removal of secondary password files
      Remove pg_passwd utility
      Lots of code cleanup in user.c and hba.c
      New data/global/pg_pwd format
      New data/global/pg_group file
      43a3543a
  12. 03 Apr, 2002 1 commit
  13. 02 Mar, 2002 1 commit
    • Bruce Momjian's avatar
      Commit to match discussed elog() changes. Only update is that LOG is · a033daf5
      Bruce Momjian authored
      now just below FATAL in server_min_messages.  Added more text to
      highlight ordering difference between it and client_min_messages.
      
      ---------------------------------------------------------------------------
      
      REALLYFATAL => PANIC
      STOP => PANIC
      New INFO level the prints to client by default
      New LOG level the prints to server log by default
      Cause VACUUM information to print only to the client
      NOTICE => INFO where purely information messages are sent
      DEBUG => LOG for purely server status messages
      DEBUG removed, kept as backward compatible
      DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added
      DebugLvl removed in favor of new DEBUG[1-5] symbols
      New server_min_messages GUC parameter with values:
              DEBUG[5-1], INFO, NOTICE, ERROR, LOG, FATAL, PANIC
      New client_min_messages GUC parameter with values:
              DEBUG[5-1], LOG, INFO, NOTICE, ERROR, FATAL, PANIC
      Server startup now logged with LOG instead of DEBUG
      Remove debug_level GUC parameter
      elog() numbers now start at 10
      Add test to print error message if older elog() values are passed to elog()
      Bootstrap mode now has a -d that requires an argument, like postmaster
      a033daf5
  14. 01 Mar, 2002 1 commit
  15. 18 Feb, 2002 1 commit
  16. 25 Nov, 2001 1 commit
  17. 24 Nov, 2001 1 commit
  18. 19 Oct, 2001 1 commit
  19. 16 Oct, 2001 1 commit
  20. 30 Sep, 2001 1 commit
  21. 08 Sep, 2001 1 commit
    • Peter Eisentraut's avatar
      Make the world somewhat safe for (not from) DELETE FROM pg_shadow; · c0d4d547
      Peter Eisentraut authored
      Assign the fixed user id 1 to the user created by initdb.
      A stand-alone backend will always set the user id to 1.
      (Consequently, the name of that user is no longer important.)
      
      In stand-alone mode, the user id 1 will have implicit superuser
      status, to allow repairs even if there are no users defined.
      
      Print a warning message when starting in stand-alone mode when no
      users are defined.
      
      Disallow dropping the current user and session user.
      
      Granting/revoking superuser status also grants/revokes usecatupd.
      (Previously, it would never grant it back.  This could lead to "deadlocks".)
      
      CREATE USER and CREATE GROUP will start allocating user ids at 100
      (unless explicitly specified), to prevent accidental creation of a
      superuser (plus some room for future extensions).
      c0d4d547
  22. 06 Sep, 2001 1 commit
    • Tatsuo Ishii's avatar
      Commit Karel's patch. · 22776711
      Tatsuo Ishii authored
      -------------------------------------------------------------------
      Subject: Re: [PATCHES] encoding names
      From: Karel Zak <zakkr@zf.jcu.cz>
      To: Peter Eisentraut <peter_e@gmx.net>
      Cc: pgsql-patches <pgsql-patches@postgresql.org>
      Date: Fri, 31 Aug 2001 17:24:38 +0200
      
      On Thu, Aug 30, 2001 at 01:30:40AM +0200, Peter Eisentraut wrote:
      > > 		- convert encoding 'name' to 'id'
      >
      > I thought we decided not to add functions returning "new" names until we
      > know exactly what the new names should be, and pending schema
      
       Ok, the patch not to add functions.
      
      > better
      >
      >     ...(): encoding name too long
      
       Fixed.
      
       I found new bug in command/variable.c in parse_client_encoding(), nobody
      probably never see this error:
      
      if (pg_set_client_encoding(encoding))
      {
      	elog(ERROR, "Conversion between %s and %s is not supported",
                           value, GetDatabaseEncodingName());
      }
      
      because pg_set_client_encoding() returns -1 for error and 0 as true.
      It's fixed too.
      
       IMHO it can be apply.
      
      		Karel
      PS:
      
          * following files are renamed:
      
      src/utils/mb/Unicode/KOI8_to_utf8.map  -->
              src/utils/mb/Unicode/koi8r_to_utf8.map
      
      src/utils/mb/Unicode/WIN_to_utf8.map  -->
              src/utils/mb/Unicode/win1251_to_utf8.map
      
      src/utils/mb/Unicode/utf8_to_KOI8.map -->
              src/utils/mb/Unicode/utf8_to_koi8r.map
      
      src/utils/mb/Unicode/utf8_to_WIN.map -->
              src/utils/mb/Unicode/utf8_to_win1251.map
      
         * new file:
      
      src/utils/mb/encname.c
      
         * removed file:
      
      src/utils/mb/common.c
      
      --
       Karel Zak  <zakkr@zf.jcu.cz>
       http://home.zf.jcu.cz/~zakkr/
      
       C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
      22776711
  23. 26 Aug, 2001 1 commit
  24. 25 Aug, 2001 2 commits
  25. 10 Aug, 2001 1 commit
    • Tom Lane's avatar
      Make OIDs optional, per discussions in pghackers. WITH OIDS is still the · bf56f075
      Tom Lane authored
      default, but OIDS are removed from many system catalogs that don't need them.
      Some interesting side effects: TOAST pointers are 20 bytes not 32 now;
      pg_description has a three-column key instead of one.
      
      Bugs fixed in passing: BINARY cursors work again; pg_class.relhaspkey
      has some usefulness; pg_dump dumps comments on indexes, rules, and
      triggers in a valid order.
      
      initdb forced.
      bf56f075
  26. 31 Jul, 2001 1 commit
    • Tom Lane's avatar
      Change SQL commands embedded in the initdb script from the style · 267a8f82
      Tom Lane authored
      	echo "command" | postgres
      to the style
      	postgres <<EOF
      		command
      	EOF
      This makes the script more legible (IMHO anyway) by reducing the need
      to escape quotes, and allows us to execute successive SQL commands in
      a single standalone-backend run, rather than needing to start a new
      standalone backend for each command.  With all the CREATE VIEWs that
      are getting done now, this makes for a rather substantial reduction
      in the runtime of initdb.  (Some of us do initdb often enough to care
      how long it runs ;-).)
      267a8f82
  27. 15 Jul, 2001 1 commit
    • Tom Lane's avatar
      Restructure index AM interface for index building and index tuple deletion, · c8076f09
      Tom Lane authored
      per previous discussion on pghackers.  Most of the duplicate code in
      different AMs' ambuild routines has been moved out to a common routine
      in index.c; this means that all index types now do the right things about
      inserting recently-dead tuples, etc.  (I also removed support for EXTEND
      INDEX in the ambuild routines, since that's about to go away anyway, and
      it cluttered the code a lot.)  The retail indextuple deletion routines have
      been replaced by a "bulk delete" routine in which the indexscan is inside
      the access method.  I haven't pushed this change as far as it should go yet,
      but it should allow considerable simplification of the internal bookkeeping
      for deletions.  Also, add flag columns to pg_am to eliminate various
      hardcoded tests on AM OIDs, and remove unused pg_am columns.
      
      Fix rtree and gist index types to not attempt to store NULLs; before this,
      gist usually crashed, while rtree managed not to crash but computed wacko
      bounding boxes for NULL entries (which might have had something to do with
      the performance problems we've heard about occasionally).
      
      Add AtEOXact routines to hash, rtree, and gist, all of which have static
      state that needs to be reset after an error.  We discovered this need long
      ago for btree, but missed the other guys.
      
      Oh, one more thing: concurrent VACUUM is now the default.
      c8076f09
  28. 23 Jun, 2001 1 commit
  29. 22 Jun, 2001 1 commit
  30. 14 Jun, 2001 1 commit
  31. 12 Jun, 2001 1 commit
    • Tom Lane's avatar
      Clean up various to-do items associated with system indexes: · 1d584f97
      Tom Lane authored
      pg_database now has unique indexes on oid and on datname.
      pg_shadow now has unique indexes on usename and on usesysid.
      pg_am now has unique index on oid.
      pg_opclass now has unique index on oid.
      pg_amproc now has unique index on amid+amopclaid+amprocnum.
      Remove pg_rewrite's unnecessary index on oid, delete unused RULEOID syscache.
      Remove index on pg_listener and associated syscache for performance reasons
      (caching rows that are certain to change before you need 'em again is
      rather pointless).
      Change pg_attrdef's nonunique index on adrelid into a unique index on
      adrelid+adnum.
      
      Fix various incorrect settings of pg_class.relisshared, make that the
      primary reference point for whether a relation is shared or not.
      IsSharedSystemRelationName() is now only consulted to initialize relisshared
      during initial creation of tables and indexes.  In theory we might now
      support shared user relations, though it's not clear how one would get
      entries for them into pg_class &etc of multiple databases.
      
      Fix recently reported bug that pg_attribute rows created for an index all have
      the same OID.  (Proof that non-unique OID doesn't matter unless it's
      actually used to do lookups ;-))
      
      There's no need to treat pg_trigger, pg_attrdef, pg_relcheck as bootstrap
      relations.  Convert them into plain system catalogs without hardwired
      entries in pg_class and friends.
      
      Unify global.bki and template1.bki into a single init script postgres.bki,
      since the alleged distinction between them was misleading and pointless.
      Not to mention that it didn't work for setting up indexes on shared
      system relations.
      
      Rationalize locking of pg_shadow, pg_group, pg_attrdef (no need to use
      AccessExclusiveLock where ExclusiveLock or even RowExclusiveLock will do).
      Also, hold locks until transaction commit where necessary.
      1d584f97
  32. 12 May, 2001 1 commit
  33. 08 May, 2001 1 commit
  34. 27 Mar, 2001 1 commit
  35. 13 Mar, 2001 1 commit
  36. 18 Feb, 2001 1 commit
  37. 20 Jan, 2001 1 commit
  38. 04 Jan, 2001 1 commit
  39. 31 Dec, 2000 1 commit