Re: [HACKERS] CLUSTER and indisclustered

2002-08-13 Thread Hannu Krosing

On Tue, 2002-08-13 at 09:25, Bruce Momjian wrote:
 
 There is a web page about star joins used a lot in data warehousing,
 where you don't know what queries are going to be required and what
 indexes to create:
 
   http://www.dbdomain.com/a100397.htm
 
 They show some sample queries, which is good.  Here is some
 interesting text:
 
   Star Transformation
 
   If there are bitmap indexes on SALES_REP_ID, PRODUCT_ID, and
   DEPARTMENT_ID in the SALES table, then Oracle can resolve the query
   using merges of the bitmap indexes.
   
   Because Oracle can efficiently merge multiple bitmap indexes, you can 
   create a single bitmap index on each of the foreign-key columns in the
   fact table rather than on every possible combination of columns.

Another way to achive the similar result would be using segmented hash
indexes, where each column maps directly to some part of hash value.

 This
   lets you support all possible combinations of dimensions without
   creating an unreasonable number of indexes.

---
Hannu


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] VACUUM's No one parent tuple was found, redux

2002-08-13 Thread Mario Weilguni


 Also, for Mario and Barry: does this test case look anything like what
 your real applications do?  In particular, do you ever do a SELECT FOR
 UPDATE in a transaction that commits some changes, but does not update
 or delete the locked-for-update row?  If not, it's possible there are
 yet more bugs lurking in this area.

   regards, tom lane

I've checked the application, when I select for update I will update those tuples, 
though it might be an
update where no real modification is done (e.g. update table set col1=col1).
I'm pretty sure I've identified the source of the problem in my application, but in 
this specific place there
is no select for update, but a rollback  while another update is in progress. I 
guess this is triggering
the problem now and then.

But for the scenario you mention above, I cannot imagine how this might happen in my 
application, it's not
easy to say for sure, it's a quite complex web based content management system and not 
easy to debug such
errors, because I've no clue how to trigger it reproduceable.

Best regards,
Mario Weilguni



---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] anoncvs currently broken

2002-08-13 Thread Jeroen T. Vermeulen

On Mon, Aug 12, 2002 at 09:38:00PM -0300, Marc G. Fournier wrote:
 
 should be fixed ... looks like just an ownership issue on a new directory


More like I uploaded that directory just as you were rsync'ing to
anonymous CVS and a lock file got copied along, but was never deleted
on a subsequent rsync.  Or so it's been suggested to me.


Jeroen


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] SQL99 CONVERT() function

2002-08-13 Thread Kaori Inaba

Hello,

The attached patch adds CONVERSION stuff for cyrillic and
win874/1250/1251/1256 encodings.

Thank you.

From: Tatsuo Ishii [EMAIL PROTECTED]
Subject: [HACKERS] SQL99 CONVERT() function
Date: Tue, 06 Aug 2002 14:55:04 +0900 (JST)
Message-ID: [EMAIL PROTECTED]

 I have added SQL99's CONVERT() function. docs and regression tests
 also updated. Our own convert() functions can also be used. Example
 usage of CONVERT():
 
 convert('PostgreSQL' using iso8859_1_to_utf8)
 
 will return 'PostgreSQL' in UTF-8 encoding. See String Functions and
 Operators section of Users's guide for more details and currently
 available (predefined) conversions.
 
 I believe remaining work for CONVERSION stuffs is some conversions for
 cyrillic and win874/1250/1251/1256 encodings.
 --
 Tatsuo Ishii

---
   Kaori Inaba  
 [EMAIL PROTECTED] 




pgsql.patch.gz
Description: Binary data


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [PATCHES] [HACKERS] SQL99 CONVERT() function

2002-08-13 Thread Tatsuo Ishii

 The attached patch adds CONVERSION stuff for cyrillic and
 win874/1250/1251/1256 encodings.

Thanks. I'll take care of this.
--
Tatsuo Ishii

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Mark Kirkwood

Andrew Sullivan wrote:

On Sat, Aug 10, 2002 at 09:21:07AM -0500, Greg Copeland wrote:

I'm actually amazed that postgres isn't already using large file
support.  Especially for tools like dump. 


Except it would only cause confusion if you ran such a program on a
system that didn't itself have largefile support.  Better to make the
admin turn all these things on on purpose, until everyone is running
64 bit systems everywhere.

A

Ah yes ... extremely good point - I had not considered that.

I am pretty sure all reasonably current (kernel = 2.4) Linux distros 
support largefile out of the box - so it should be safe for them.

Other operating systems where 64 bit file access can be disabled or 
unconfigured require more care - possibly  (sigh) 2 binary RPMS with a 
distinctive 32 and 64 bit label ...(I think the big O does this for 
Solaris).

Cheers

Mark 



---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



[HACKERS] Is contrib/rserv/Makefile broken?

2002-08-13 Thread Satoshi Nagayasu

Hi all,

In 7.2.1, MasterInit script (rserv command) does not work correctly,
because $libdir is not defined in it.

I think $libdir should be replaced in Makefile as below.

Is it correct?

--- MakefileMon Mar 11 13:39:14 2002
+++ /tmp/Makefile   Tue Aug 13 18:19:21 2002
@@ -22,10 +22,10 @@
 all: $(SQLS) $(TCLS) $(PERLS) $(SCRIPTS) $(SONAME)
 
 %.sql: %.sql.in
-   sed 's,@MODULE_FILENAME@,$$libdir/$(NAME),g' $ $@
+   sed 's,@MODULE_FILENAME@,$(libdir)/$(NAME),g' $ $@
 
 $(PERLS) $(TCLS) $(SCRIPTS): %: %.in
-   sed -e 's,@MODULE_FILENAME@,$$libdir/$(NAME),g' \
+   sed -e 's,@MODULE_FILENAME@,$(libdir)/$(NAME),g' \
-e 's:@SQLDIR@:$(datadir)/contrib:g' \
-e 's:@BINDIR@:$(bindir):g' \
-e 's:@LIBDIR@:$(datadir)/contrib:g' $ $@

-- 
NAGAYASU Satoshi [EMAIL PROTECTED]

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] [PATCHES] CREATE OR REPLACE TRIGGER

2002-08-13 Thread Jean-Michel POURE

Le Dimanche 11 Août 2002 17:53, Tom Lane a écrit :
 Hmm.  I remember Poure asking repeatedly for CREATE OR REPLACE VIEW,
 and that makes a lot of sense to me, because other things *can* depend
 on a view.  (Unfortunately, by the same token it's a lot harder to do.)
 The use-case for replacing a trigger is not visible to the naked eye.

Dear Tom,

Replacing a trigger is interesting, for several reasons:
- you may need to temporary disable a trigger. In pgAdmin2, you may move the 
view to a temporary table. This can be done by other means, but none is 
standard. By the way, a DISSABLE TRIGGER would be usefull.
- you may need to choose another function or change events.
- systems with server-side code need to be UPGRADED. Look at Compiere for 
example. When the database schema evolves, a scripts shall be able to run 
server-side and upgrade the database safely.
- newbees like to play around just as if they were in Access, Excel or MySQL. 
In pgAdmin2, the graphical presentation enables them to create, move, alter 
and delete objects. This is very important for someone who learns databases. 
Learning becomes a game.

Inside PostgreSQL backend, I see no reason why this should not be done by a 
DROP/CREATE.

Last of all, if all objects could be REPLACED or ALTERED inside PostgreSQL, it 
would become interesting to create automatic Diff between revisions of a 
schema. Then, PostgreSQL itself sould be able to write the upgrade script. 
What do you think of this advanced feature?

Do you think it is possible to store schema dumps inside postgreSQL and 
generate upgrade scripts between revisions?

Cheers,
Jean-Michel

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Oliver Elphick

On Tue, 2002-08-13 at 03:57, Greg Copeland wrote:
  Are there any filesystems in common use (not including windows ones) that
  don't support 32-bit filesizes?
  
  Linux (ext2) I know supports by default at least to 2TB (2^32 x 512bytes),
  probably much more. What about the BSDs? XFS? etc
  
 
 Ext2  3 should be okay.  XFS (very sure) and JFS (reasonably sure)
 should also be okay...IIRC.  NFS and SMB are probably problematic, but I
 can't see anyone really wanting to do this. 

Hmm. Whereas I can't see many people putting their database files on an
NFS mount, I can readily see them using pg_dump to one, and pg_dump is
the program where large files are really likely to be needed.

-- 
Oliver Elphick[EMAIL PROTECTED]
Isle of Wight, UK
http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
 
 Watch ye therefore, and pray always, that ye may be 
  accounted worthy to escape all these things that shall
  come to pass, and to stand before the Son of man.
   Luke 21:36 


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] [COMMITTERS] pgsql-server/src backend/tcop/postgres.cbacke

2002-08-13 Thread Zeugswetter Andreas SB SD


  OK, seeing as no one voted, and only Tom and I objected originally, we
  will keep the code as Thomas has applied it, namely that PGXLOG/-X is
  recognized by initdb, postmaster, postgres, and pg_ctl.
 
 We will?  It looks to me like Thomas lost the vote 2-to-1.
 
 Unless there are more votes, I'm going to *insist* that this code be
 changed.  It's dangerous and offers no offsetting benefit.  XLOG
 location should be settable at initdb, noplace later.

2 would get my vote too. 
My approach though would be that initdb simply creates 
a symlink. I like to find the files without resorting to additional utilities
or an sql, at least on platforms that support symlinks. This makes the task of 
knowing what needs to be backed up easier.

My approach to tablespaces would probably also have symlinks in the datadir.

Andreas

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



[HACKERS] db partial dumping with pg_dump

2002-08-13 Thread Oleg Bartunov

We have a patch for pg_dump which adds a possibility to dump
a part of table, for example:

dump Top.Science.Astronomy heirarchy from dmoz catalog

pg_dump -d -t dmoz -w select * from dmoz where path @ 'Top.Science.Astronomy' dmoz

We found it's very useful. We'd like to extend it to use also with COPY
but it has no support for select (of course it will works only for
special case when ALL columns retrieved).

The question is: Is't worth to submit patch for pg_dump and look into
copy code ?

Regards,
Oleg
_
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: [EMAIL PROTECTED], http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



[HACKERS] Temporary Views

2002-08-13 Thread Gavin Sherry

Hi all,

I'm thinking that temporary views should be pretty trivial to
implement.

* Allow temporary views

This should be as simple as modifying gram.y (to set
ViewStmt-view-istemp) and some logic in RemoveTempRelations() to remove
the view's rule

* Require view using temporary tables to be temporary views

This is the non-trivial part. If you are creating a view on just a
temporary table there's no problem. But what happens when do the
following?

CREATE VIEW abc AS select * from tab1,tab2,temp_tab3 ...

SQL99 avoids this with syntax rule 6 of 11.21 view definition

No table reference generally contained in the query expression shall
identify any declared local temporary table.

There are a few ways it could be implemented:

1) SQL99
2) Views whose query epression contains one or more table references
to temporary tables are created as temporary views
3) Views whose query epression contains one or more table references
to temporary tables must be explicitly include the TEMP[ORARY] syntax.

Thoughts?

Gavin


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] anoncvs currently broken

2002-08-13 Thread Rod Taylor

On Tue, 2002-08-13 at 02:47, Jeroen T. Vermeulen wrote:
 On Mon, Aug 12, 2002 at 09:38:00PM -0300, Marc G. Fournier wrote:
  
  should be fixed ... looks like just an ownership issue on a new directory
 
 
 More like I uploaded that directory just as you were rsync'ing to
 anonymous CVS and a lock file got copied along, but was never deleted
 on a subsequent rsync.  Or so it's been suggested to me.

That was based on a number of assumptions.

Of course Marc knows exactly what was wrong because he had to fix it :)



---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] db partial dumping with pg_dump

2002-08-13 Thread Rod Taylor

On Tue, 2002-08-13 at 07:49, Oleg Bartunov wrote:
 We have a patch for pg_dump which adds a possibility to dump
 a part of table, for example:
 
 dump Top.Science.Astronomy heirarchy from dmoz catalog
 
 pg_dump -d -t dmoz -w select * from dmoz where path @ 'Top.Science.Astronomy' dmoz
 
 We found it's very useful. We'd like to extend it to use also with COPY
 but it has no support for select (of course it will works only for
 special case when ALL columns retrieved).
 
 The question is: Is't worth to submit patch for pg_dump and look into
 copy code ?

I've been asked by co-workers for information on how to do this type of
thing.  They do partial table dumps to a development system for the
purpose of finding / eliminating bugs.

That said, it may be smart to make the 'select * from table' part
yourself, and let the user supply a where clause.



---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] db partial dumping with pg_dump

2002-08-13 Thread Oleg Bartunov

On 13 Aug 2002, Rod Taylor wrote:

 On Tue, 2002-08-13 at 07:49, Oleg Bartunov wrote:
  We have a patch for pg_dump which adds a possibility to dump
  a part of table, for example:
 
  dump Top.Science.Astronomy heirarchy from dmoz catalog
 
  pg_dump -d -t dmoz -w select * from dmoz where path @ 'Top.Science.Astronomy' 
dmoz
 
  We found it's very useful. We'd like to extend it to use also with COPY
  but it has no support for select (of course it will works only for
  special case when ALL columns retrieved).
 
  The question is: Is't worth to submit patch for pg_dump and look into
  copy code ?

 I've been asked by co-workers for information on how to do this type of
 thing.  They do partial table dumps to a development system for the
 purpose of finding / eliminating bugs.

 That said, it may be smart to make the 'select * from table' part
 yourself, and let the user supply a where clause.


find patch (7.2) in attachement. Note, it works with -d (insert mode) option.



 ---(end of broadcast)---
 TIP 3: if posting/reading through Usenet, please send an appropriate
 subscribe-nomail command to [EMAIL PROTECTED] so that your
 message can get through to the mailing list cleanly


Regards,
Oleg
_
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: [EMAIL PROTECTED], http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83


--- pg_dump.c.old   Fri Aug  9 19:41:08 2002
+++ pg_dump.c   Fri Aug  9 19:28:34 2002
@@ -128,6 +128,7 @@
TableInfo  *tblinfo;
int tblidx;
booloids;
+   const char *select_command;
 } DumpContext;

 static void
@@ -390,6 +391,7 @@
 {
const DumpContext *dctx = (DumpContext *) dctxv;
const char *classname = dctx-tblinfo[dctx-tblidx].relname;
+   const char *select_command = dctx-select_command;

PGresult   *res;
PQExpBuffer q = createPQExpBuffer();
@@ -397,9 +399,23 @@
int field;

if (fout-remoteVersion = 70100)
-   appendPQExpBuffer(q, DECLARE _pg_dump_cursor CURSOR FOR SELECT * FROM 
ONLY %s, fmtId(classname, force_quotes));
+   if (select_command)
+   {
+   appendPQExpBuffer(q, DECLARE _pg_dump_cursor CURSOR FOR %s, 
+select_command);
+   }
+   else
+   {
+   appendPQExpBuffer(q, DECLARE _pg_dump_cursor CURSOR FOR 
+SELECT * FROM ONLY %s, fmtId(classname, force_quotes));
+   }
else
-   appendPQExpBuffer(q, DECLARE _pg_dump_cursor CURSOR FOR SELECT * FROM 
%s, fmtId(classname, force_quotes));
+   if (select_command)
+   {
+   appendPQExpBuffer(q, DECLARE _pg_dump_cursor CURSOR FOR %s, 
+select_command);
+   }
+   else
+   {
+   appendPQExpBuffer(q, DECLARE _pg_dump_cursor CURSOR FOR 
+SELECT * FROM %s, fmtId(classname, force_quotes));
+   }

res = PQexec(g_conn, q-data);
if (!res ||
@@ -547,7 +563,7 @@
  */
 static void
 dumpClasses(const TableInfo *tblinfo, const int numTables, Archive *fout,
-const char *onlytable, const bool oids, const bool force_quotes)
+const char *onlytable, const bool oids, const bool force_quotes, 
+const char *select_command)
 {
int i;
DataDumperPtr dumpFn;
@@ -587,6 +603,7 @@
dumpCtx-tblinfo = (TableInfo *) tblinfo;
dumpCtx-tblidx = i;
dumpCtx-oids = oids;
+   dumpCtx-select_command = NULL;

if (!dumpData)
{
@@ -602,6 +619,10 @@
/* Restore using INSERT */
dumpFn = dumpClasses_dumpData;
copyStmt = NULL;
+   if (onlytable  (strcmp(classname, onlytable) == 0))
+   {
+   dumpCtx-select_command = select_command;
+   }
}

ArchiveEntry(fout, tblinfo[i].oid, tblinfo[i].relname,
@@ -648,6 +669,7 @@
const char *pghost = NULL;
const char *pgport = NULL;
const char *username = NULL;
+   const char *select_command = NULL;
char   *tablename = NULL;
booloids = false;
TableInfo  *tblinfo;
@@ -694,6 +716,7 @@
{no-privileges, no_argument, NULL, 'x'},
{no-acl, no_argument, NULL, 'x'},
{compress, 

Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Oliver Elphick

On Mon, 2002-08-12 at 21:07, Peter Eisentraut wrote:

 This is not the only issue.  You really need to check all uses of off_t
 (for example printf(%ld, off_t) will crash) and all places where off_t
 should have been used in the first place.  Furthermore you might need to
 replace ftell() and fseek() by ftello() and fseeko(), especially if you
 want pg_dump to support large archives.

Searching for fseek, ftell and off_t yields only 12 files in the whole
source tree, so fortunately the impact is not enormous.  As expected,
pg_dump is the main program involved.

There seem to be several places in the pg_dump code where int is used
instead of long int to receive the output of ftell().  I presume these
ought to be cleaned up as well.

Looking at how to deal with this, is the following going to be
portable?:

in pg_dump/Makefile:
CFLAGS += -D_LARGEFILE_SOURCE -D_OFFSET_BITS=64

in pg_dump.h:
#ifdef _LARGEFILE_SOURCE
  #define FSEEK fseeko
  #define FTELL ftello
  #define OFF_T_FORMAT %Ld
  typedef off_t OFF_T;
#else
  #define FSEEK fseek
  #define FTELL ftell
  #define OFF_T_FORMAT %ld
  typedef long int OFF_T;
#endif

In pg_dump/*.c:
change relevant occurrences of fseek and ftell to FSEEK and
FTELL

change all file offset parameters used or returned by fseek and
ftell to OFF_T (usually from int)

construct printf formats with OFF_T_FORMAT in appropriate places

 Still, most of the configuration work is already done in Autoconf (see
 AC_FUNC_FSEEKO and AC_SYS_LARGEFILE), so the work might be significantly
 less than the time spent debating the merits of large files on these
 lists. ;-)

Since running autoconf isn't part of a normal build, I'm not familiar
with that.  Can autoconf make any of the above unnecessary?

-- 
Oliver Elphick[EMAIL PROTECTED]
Isle of Wight, UK
http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
 
 Watch ye therefore, and pray always, that ye may be 
  accounted worthy to escape all these things that shall
  come to pass, and to stand before the Son of man.
   Luke 21:36 


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] [COMMITTERS] pgsql-server/src backend/tcop/postgres.cbacke

2002-08-13 Thread Tom Lane

Bruce Momjian [EMAIL PROTECTED] writes:
 Tom Lane wrote:
 We will?  It looks to me like Thomas lost the vote 2-to-1.

 Well, you didn't vote again in my follow up email,

I thought my vote was obvious already ...

 Can two guys override another guy if he is doing the work?  I usually
 like to have a larger margin than that.  I don't know what to do.

I'm not pleased about it either; I'd have preferred to see a few more
opinions given (and I'm surprised that no one else bothered to weigh in;
lack of opinions is usually not a problem for pghackers ;-)).

But I really seriously feel that this feature is a bad idea as presently
implemented.  If necessary, I'll volunteer to change it the way I think
it should be (viz, initdb can set up a symlink to a specified xlog
directory; no change from previous behavior anywhere else).

regards, tom lane

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Larry Rosenman

On Tue, 2002-08-13 at 03:42, Mark Kirkwood wrote:
 Andrew Sullivan wrote:
 
 On Sat, Aug 10, 2002 at 09:21:07AM -0500, Greg Copeland wrote:
 
 I'm actually amazed that postgres isn't already using large file
 support.  Especially for tools like dump. 
 
 
 Except it would only cause confusion if you ran such a program on a
 system that didn't itself have largefile support.  Better to make the
 admin turn all these things on on purpose, until everyone is running
 64 bit systems everywhere.
 
 A
 
 Ah yes ... extremely good point - I had not considered that.
 
 I am pretty sure all reasonably current (kernel = 2.4) Linux distros 
 support largefile out of the box - so it should be safe for them.
 
 Other operating systems where 64 bit file access can be disabled or 
 unconfigured require more care - possibly  (sigh) 2 binary RPMS with a 
 distinctive 32 and 64 bit label ...(I think the big O does this for 
 Solaris).
Then, of course, there are systems where Largefiles support is a
filesystem by filesystem  (read mountpoint by mountpoint) option (E.G.
OpenUNIX). 

I think this is going to be a pandoras box. 



-- 
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 E-Mail: [EMAIL PROTECTED]
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] [COMMITTERS] pgsql-server/src

2002-08-13 Thread Rod Taylor


 But I really seriously feel that this feature is a bad idea as presently
 implemented.  If necessary, I'll volunteer to change it the way I think
 it should be (viz, initdb can set up a symlink to a specified xlog
 directory; no change from previous behavior anywhere else).

Neither solution is a particularly good one.

Symlinks seem to break all over the place (windows, novell, os/2),
environment variables are clumsy, arguments are easily forgotten by a
new admin starting up the system manually without reading documentation
first, and postgresql.conf changes are implemented via HUP (which we
don't want -- has to be a full restart?).


I'm going to vote a postgresql.conf entry similar to the LC_ vars thats
initialized by initdb BUT is configurable with a big warning above it
describing what needs to be done when changing it.




---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] [COMMITTERS] pgsql-server/src

2002-08-13 Thread Tom Lane

Marc G. Fournier [EMAIL PROTECTED] writes:
 I think Tom is on to something here.  I meant to ask but never got
 around to it.  Why would anyone need to move the XLOG after you've
 inited the db?

 I just determined that disk I/O is terrible, so want to move the XLOG over
 to a different file system that is currently totally idle ...

Sure, needing to manually move the xlog directory is a plausible thing,
but *you can already do it*.  The current procedure is

1. shut down postmaster
2. cp -p -r xlog directory to new location
3. rm -rf old xlog directory
4. ln -s new xlog directory to $PGDATA/xlog
5. start postmaster

With the patch it's almost the same, but you can instead of (4) substitute

(4a) Change PGXLOG environment variable or -X argument in start script.

That is *not* materially easier than an ln in my book.  And it's
fraught with all the risks we've come to know and not love over the
years: it's just way too easy to start a postmaster with the wrong set
of environment variables.  (Hand start vs start from boot script, etc,
etc, etc.)  But this time the penalty for getting it wrong is, very
possibly, irrecoverable corruption of your database.

I see a serious downside to doing it this way, and not enough upside
to justify taking the risk.  We should continue to keep the where's the
xlog information in the database directory itself.  While a symlink
isn't the only possible way to do that (a configuration-file item might
do instead), I just don't think it's a good idea to allow it to be
specified externally.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Martijn van Oosterhout

On Tue, Aug 13, 2002 at 08:02:05AM -0500, Larry Rosenman wrote:
 On Tue, 2002-08-13 at 03:42, Mark Kirkwood wrote:
  Other operating systems where 64 bit file access can be disabled or 
  unconfigured require more care - possibly  (sigh) 2 binary RPMS with a 
  distinctive 32 and 64 bit label ...(I think the big O does this for 
  Solaris).
 Then, of course, there are systems where Largefiles support is a
 filesystem by filesystem  (read mountpoint by mountpoint) option (E.G.
 OpenUNIX). 
 
 I think this is going to be a pandoras box. 

I don't understand. Why would you want large-file support enabled on a
per-filesystem basis? All your system programs would have to support the
lowest common denomitor (ie, with large file support). Is it to make the
kernel enforce a limit for the purposes of compatability?

I'd suggest making it as simple as --enable-large-files and make it default
in a year or two.

-- 
Martijn van Oosterhout   [EMAIL PROTECTED]   http://svana.org/kleptog/
 There are 10 kinds of people in the world, those that can do binary
 arithmetic and those that can't.

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] [COMMITTERS] pgsql-server/src backend/tcop/postgres.cbacke

2002-08-13 Thread Tom Lane

Thomas Lockhart [EMAIL PROTECTED] writes:
 In the spirit of gratutious overstatement, I'll point out again:
 symlinks are evil.

Please justify that claim.  They work really nicely in my experience...
and I don't know of any modern Unix system that doesn't rely on them
*heavily*.

Possibly more to the point, I can assert environment variables are
evil with at least as much foundation.  We have seen many many reports
of trouble from people who were bit by environment-variable problems
with Postgres.  Do I need to trawl the archives for examples?

However, as I just commented to Marc the real issue in my mind is that
the xlog needs to be solidly tied to the data directory, because we
can't risk starting a postmaster with the wrong combination.  I do not
think that external specification of the xlog as a separate env-var or
postmaster command-line arg gives the appropriate amount of safety.
But there's more than one way to record the xlog location in the data
directory.  If you don't like a symlink, what of putting it in
postgresql.conf as a postmaster-start-time-only config option?

regards, tom lane

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Zeugswetter Andreas SB SD


 Looking at how to deal with this, is the following going to be
 portable?:
 
 in pg_dump/Makefile:
 CFLAGS += -D_LARGEFILE_SOURCE -D_OFFSET_BITS=64
 
 in pg_dump.h:
 #ifdef _LARGEFILE_SOURCE
   #define FSEEK fseeko
   #define FTELL ftello
   #define OFF_T_FORMAT %Ld
   typedef off_t OFF_T;
 #else
   #define FSEEK fseek
   #define FTELL ftell
   #define OFF_T_FORMAT %ld
   typedef long int OFF_T;
 #endif

No, look at the int8 code to see how to make it portable.
On AIX e.g it is %lld and long long int.

Andreas

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] [COMMITTERS] pgsql-server/src backend/tcop/postgres.cbacke

2002-08-13 Thread Tom Lane

Marc G. Fournier [EMAIL PROTECTED] writes:
 One thought at the back of my mind is why not have something like a
 'PG_VERSION' for XLOG?  Maybe something so simple as a text file in both
 the data and xlog directory that just contains a timestamp from the
 initdb?  then, when  you startup postmaster with a -X option, it compares
 the two files and makes sure that they belong to each other?

While that isn't a bad idea, it seems to me that it's adding mechanism
to get around a problem that we don't need to have in the first place.
The only reason this risk exists is that the patch changes a monolithic
postmaster option (-D) into two independent options (-D/-X) that in
reality should never be independent.

Essentially, you're proposing Kevlar shoes as a solution for the problem
that you want to walk around carrying a loaded gun aimed at your foot.
The shoes might be a good idea anyway, but the primary problem is
elsewhere...

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



[HACKERS] OpenFTS 0.33 Release

2002-08-13 Thread Oleg Bartunov

Hi,

this is an announcement of OpenFTS 0.33 release.
Please, find archive in download area at openfts.sourceforge.net

This is a major release ! It has a lot of enhancements.
It's required PostgreSQL 7.2.1 (7.2.2 from CVS would be better)

Some major changes:

1. We moved from using contrib/intarray module to our new module
   contrib/tsearch, which is available from contrib directory of
   PostgreSQL distribution since 7.2 release.

   tsearch module provides special text data type suitable for text
   indexing. It uses words 'as is' without hashing to integers and provides
   search interface in more natural way. For example, it's possible now
   to test fulltext search from psql.
   Read documentation in contrib/tsearch module for more details.

2. We changes interfaces to dictionaries to conform changes in 1.
   Methods provided by dictionaries should work with lexems instead of
   integers as before: lemms method instead of lemmsid, is_stoplexem instead
   of is_stoplemm.

3. We've added a possibility to drop OpenFTS instances:
 drop - removes all OpenFTS tables, indices, dictionaries (if dictionary
provides 'drop' method);
 drop_index - it's opposite to method 'create_index', removes all OpenFTS
  indices on index tables (INDEX1,,,INDEXN) and
  GiST index on base table (the table where the documents
  are stored together with its primary key).
   It's very convenient for adminstration and maintaince.

4. We've added generic interfaces to ISpell dictionaries and Snowball stemmers.
   ISpell dictionaries are free and available for many languages and could be
   used to return base forms for a word.
   It's very important for inflective languages, i.e. russian language.
   Snowball stemmers (available from snowball.sourceforge.net)
   could be use to stemm a word, i.e. to cut a words endings and use
   remains stem for indexing and searching.



Unfortunately, documentation is not completely updated.
There is Crash-Course in example directory which should be
enough to start.

As always, your questions and comments are welcome.
Please, use openfts-general mailing list [EMAIL PROTECTED]

We are looking for documentation manager ! Please, contact Oleg Bartunov
[EMAIL PROTECTED] if you're willing to join the OpenFTS project.

Regards,
Oleg
_
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: [EMAIL PROTECTED], http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83



---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] [COMMITTERS] pgsql-server/src

2002-08-13 Thread Greg Copeland

On Tue, 2002-08-13 at 08:15, Tom Lane wrote:
 Marc G. Fournier [EMAIL PROTECTED] writes:
  I think Tom is on to something here.  I meant to ask but never got
  around to it.  Why would anyone need to move the XLOG after you've
  inited the db?
 
  I just determined that disk I/O is terrible, so want to move the XLOG over
  to a different file system that is currently totally idle ...
 
 Sure, needing to manually move the xlog directory is a plausible thing,
 but *you can already do it*.  The current procedure is
 
 1. shut down postmaster
 2. cp -p -r xlog directory to new location
 3. rm -rf old xlog directory
 4. ln -s new xlog directory to $PGDATA/xlog
 5. start postmaster
 
 With the patch it's almost the same, but you can instead of (4) substitute

Why not simply create a script which does this?  Creation of movexlog
or some such beast which anally checked everything it did.  As options,
you could simply pass it the src and dest and let it take care of the
rest.

Greg




signature.asc
Description: This is a digitally signed message part


Re: [HACKERS] OOP real life example (was Re: Why is MySQL more

2002-08-13 Thread Don Baccus

Greg Copeland wrote:
 On Tue, 2002-08-13 at 00:16, Curt Sampson wrote:
 
I will revise my opinion the instant someone shows me something that I
can't do relationally, or is easy to implement with inheritance, and
difficult with relational methods.

The traditional view approach requires unnecessary joins, and there's no 
getting around it.

And yes I know he's not reading my mail and no, don't bother repeating 
this to him, he'll just continue to ignore the point.

-- 
Don Baccus
Portland, OR
http://donb.photo.net, http://birdnotes.net, http://openacs.org


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] [COMMITTERS] pgsql-server/src

2002-08-13 Thread Oliver Elphick

On Tue, 2002-08-13 at 14:15, Tom Lane wrote:
 4. ln -s new xlog directory to $PGDATA/xlog
 
 With the patch it's almost the same, but you can instead of (4) substitute
 
 (4a) Change PGXLOG environment variable or -X argument in start script.
 
 That is *not* materially easier than an ln in my book.  And it's
 fraught with all the risks we've come to know and not love over the
 years: it's just way too easy to start a postmaster with the wrong set
 of environment variables.  (Hand start vs start from boot script, etc,
 etc, etc.)  But this time the penalty for getting it wrong is, very
 possibly, irrecoverable corruption of your database.
 
 I see a serious downside to doing it this way, and not enough upside
 to justify taking the risk.  We should continue to keep the where's the
 xlog information in the database directory itself.  While a symlink
 isn't the only possible way to do that (a configuration-file item might
 do instead), I just don't think it's a good idea to allow it to be
 specified externally.

Since the xlog is so closely linked with the database, I would be
unhappy for its location to be determined by a parameter in a file that
could be edited by an ignorant or careless administrator.  Thomas does
not like symlinks.  Equally I don't like the idea of an environment
variable, which is even more vulnerable to misuse.

Could you not store the location of the xlog directory as an entry in
$PGDATA/global/pg_control?   The xlog is as closely tied in with the
database as is its locale, which is already stored in pg_control.

To let the directory be moved, there should then be a standalone program
that would shut down the server, copy the xlog directory to the new
location and set its access permissions; on a successful copy, change
the control entry, delete the old xlog directory and finally restart the
server.  Use of such a program would protect against other possible
errors, such as pointing two different databases to the same xlog.

-- 
Oliver Elphick[EMAIL PROTECTED]
Isle of Wight, UK
http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
 
 Watch ye therefore, and pray always, that ye may be 
  accounted worthy to escape all these things that shall
  come to pass, and to stand before the Son of man.
   Luke 21:36 


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] [COMMITTERS] pgsql-server/src backend/tcop/postgres.cbacke

2002-08-13 Thread Tom Lane

Rod Taylor [EMAIL PROTECTED] writes:
 Symlinks seem to break all over the place (windows, novell, os/2),

The portability argument carries little weight with me.  Recent versions
of Windows have symlinks.  If anyone wants to run a PG installation on
a symlink-less platform, okay; they just won't have the option to move
the xlog directory.  That's probably not the only functionality they
lose by using such an inadequate filesystem...

regards, tom lane

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Oliver Elphick

On Tue, 2002-08-13 at 14:26, Zeugswetter Andreas SB SD wrote:
 
  Looking at how to deal with this, is the following going to be
  portable?:

 No, look at the int8 code to see how to make it portable.
 On AIX e.g it is %lld and long long int.

OK.  %lld is usable by glibc, so amend %Ld to %lld.

Any other comments?

-- 
Oliver Elphick[EMAIL PROTECTED]
Isle of Wight, UK
http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
 
 Watch ye therefore, and pray always, that ye may be 
  accounted worthy to escape all these things that shall
  come to pass, and to stand before the Son of man.
   Luke 21:36 


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] [COMMITTERS] pgsql-server/src

2002-08-13 Thread Oliver Elphick

On Tue, 2002-08-13 at 14:24, Tom Lane wrote:
...
 But there's more than one way to record the xlog location in the data
 directory.  If you don't like a symlink, what of putting it in
 postgresql.conf as a postmaster-start-time-only config option?

Please don't!

The Debian package at least provides a default postgresql.conf and it
will be all too easy for someone installing an updated package to let
the default file overwrite the existing configuration.  That could be
disastrous.

-- 
Oliver Elphick[EMAIL PROTECTED]
Isle of Wight, UK
http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
 
 Watch ye therefore, and pray always, that ye may be 
  accounted worthy to escape all these things that shall
  come to pass, and to stand before the Son of man.
   Luke 21:36 


---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] OOP real life example (was Re: Why is MySQL more

2002-08-13 Thread Lamar Owen

On Tuesday 13 August 2002 01:40 am, Greg Copeland wrote:
 On Tue, 2002-08-13 at 00:33, Curt Sampson wrote:
  On Mon, 12 Aug 2002, Don Baccus wrote:
   Give it up.  You're acting like a turkey.  If you aren't, skin yourself
   a new non-turkey skin.

  Since he appears not to be able to avoid abusive ad hominem attacks,
  I'm now sending mail with [EMAIL PROTECTED] in the From: header
  to /dev/null. If there's a technical point in one of his messages that
  relates to the discussion that I need to answer, someone should please
  mention it on the list or forward it to me.

 Curt, I think his reply stems from his frustration of chosen content in
 many emails that originate from you.  We all pretty well understand
 postgres has a broken feature.  We all understand you see zero value in

Knowing Don to some extent, I can say with some assurance that his 'attacks' 
are never unprovoked.  
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] [COMMITTERS] pgsql-server/src

2002-08-13 Thread Tom Lane

Oliver Elphick [EMAIL PROTECTED] writes:
 Could you not store the location of the xlog directory as an entry in
 $PGDATA/global/pg_control?

We could do that *only* if we were to produce an xlog-moving program
immediately; otherwise we've regressed in functionality compared to
prior releases.

I do not think it's necessary to be quite that anal about tying the two
directories together --- the manual symlinking procedure I described has
been around for two releases now, and while doubtless not that many
people have actually done it, we've not heard any reports of failures.
The thing is that if the DBA has to do this himself, he is very well
aware that he's performing a critical procedure, and he's not likely
to muck it up.

I think that from a safety point of view either a symlink or a
config-file entry are perfectly acceptable, and in general I prefer
plain-text config files to those which are not.  (Right now, pg_control
is *not* a config file: there is not anything in it that you might want
to edit in normal system maintenance.  It should stay that way.)

Marc's idea of matching signature files would be a better
safety-checking mechanism than just making the data directory's xlog
link hard to get at.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] [COMMITTERS] pgsql-server/src backend/tcop/postgres.cbacke

2002-08-13 Thread Tom Lane

Oliver Elphick [EMAIL PROTECTED] writes:
 On Tue, 2002-08-13 at 14:24, Tom Lane wrote:
 But there's more than one way to record the xlog location in the data
 directory.  If you don't like a symlink, what of putting it in
 postgresql.conf as a postmaster-start-time-only config option?

 Please don't!

 The Debian package at least provides a default postgresql.conf and it
 will be all too easy for someone installing an updated package to let
 the default file overwrite the existing configuration.  That could be
 disastrous.

Ouch.  That's a mighty good point ... although if we were to implement
Marc's idea of matching signature files, we'd certainly catch the error.

If we didn't, we'd need to use a separate, one-purpose config file that
just records the xlog location.  Curiously enough, that seems to me to
be exactly what a symlink does, except that the symlink is OS-level code
rather than something we have to write for ourselves.  So I'm back to
thinking that a symlink is a perfectly respectable answer.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] [COMMITTERS] pgsql-server/src

2002-08-13 Thread Oliver Elphick

On Tue, 2002-08-13 at 15:00, Tom Lane wrote:
 Oliver Elphick [EMAIL PROTECTED] writes:
  Could you not store the location of the xlog directory as an entry in
  $PGDATA/global/pg_control?
 
 We could do that *only* if we were to produce an xlog-moving program
 immediately; otherwise we've regressed in functionality compared to
 prior releases.

If it doesn't have to edit pg_control (accepting your point below) it
can be a shell script - half an hour to write and test it.  I'll do it
tonight if you choose to go this way
 
...
 I think that from a safety point of view either a symlink or a
 config-file entry are perfectly acceptable, and in general I prefer
 plain-text config files to those which are not.  (Right now, pg_control
 is *not* a config file: there is not anything in it that you might want
 to edit in normal system maintenance.  It should stay that way.)

I suggested pg_control because it's already there. It could just as well
be a *private* configuration file containing the pathname.  Just don't
put it in with postgresql.conf.  As a producer of a binary distribution,
I don't want to deal with the consequences of people ignorantly changing
it.  I'm sure you remember those mails from people who said, I wanted
to save space so I deleted this log file...

 Marc's idea of matching signature files would be a better
 safety-checking mechanism than just making the data directory's xlog
 link hard to get at.

When dealing with unknown numbers of package users, some of whom have
only just converted from being Windows users, I want to be defensive.  I
cannot afford to assume that administrators know what they are doing!  I
have to try to pick up the pieces after those that don't.

I would like to have Marc's safeguards as well.

-- 
Oliver Elphick[EMAIL PROTECTED]
Isle of Wight, UK
http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
 
 Watch ye therefore, and pray always, that ye may be 
  accounted worthy to escape all these things that shall
  come to pass, and to stand before the Son of man.
   Luke 21:36 


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Tom Lane

Oliver Elphick [EMAIL PROTECTED] writes:
 Looking at how to deal with this, is the following going to be
 portable?:

   #define OFF_T_FORMAT %Ld

That certainly will not be.  Use INT64_FORMAT from pg_config.h.

   typedef long int OFF_T;

Why not just use off_t?  In both cases?

regards, tom lane

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Oliver Elphick

On Tue, 2002-08-13 at 15:23, Tom Lane wrote:

typedef long int OFF_T;
 
 Why not just use off_t?  In both cases?

The prototype for fseek() is long int; I had assumed that off_t was not
defined if _LARGEFILE_SOURCE was not defined.

-- 
Oliver Elphick[EMAIL PROTECTED]
Isle of Wight, UK
http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
 
 Watch ye therefore, and pray always, that ye may be 
  accounted worthy to escape all these things that shall
  come to pass, and to stand before the Son of man.
   Luke 21:36 


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] [COMMITTERS] pgsql-server/src

2002-08-13 Thread Tom Lane

Oliver Elphick [EMAIL PROTECTED] writes:
 Marc's idea of matching signature files would be a better
 safety-checking mechanism than just making the data directory's xlog
 link hard to get at.

 I would like to have Marc's safeguards as well.

Yeah, I was lukewarm about that at first, but the more I think about it
the better it seems.

That does not change my opinion about the -X/PGXLOG switch though ---
having a backup safety check is not an excuse for having a fundamentally
insecure set of startup options.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] [COMMITTERS] pgsql-server/src backend/tcop/postgres.cbacke

2002-08-13 Thread Bruce Momjian


Yea, the problem with postgresql.conf is that we don't have any
automatic modifications of that file, and I don't think we want to start
just to avoid symlinks.

I personally like symlinks too.  I use them all the time.  What is the
problem with them, exactly?  Can someone show me some commands that
cause problems?

And the problem with a separate file is that when the move pg_xlog, it
isn't going to be obvious what they need to change to find the new
directory.  Of course, they could just create a symlink and leave the
file unchanged.

Aside from the arg bloat problem, the real danger is that someone is
going to forget PGDATA and PGXLOG, try to start the postmaster, add -D
for PGDATA, then when they see that they need PGXLOG, they may just
create data/pg_xlog as an empty directory and start the postmaster. 
That is a very real possibility.  I just tried it and it does complain
about the missing checkpoint records so maybe it isn't as bad as I
thought, but still, it opens a place for error where none existed
before.

---

Tom Lane wrote:
 Oliver Elphick [EMAIL PROTECTED] writes:
  On Tue, 2002-08-13 at 14:24, Tom Lane wrote:
  But there's more than one way to record the xlog location in the data
  directory.  If you don't like a symlink, what of putting it in
  postgresql.conf as a postmaster-start-time-only config option?
 
  Please don't!
 
  The Debian package at least provides a default postgresql.conf and it
  will be all too easy for someone installing an updated package to let
  the default file overwrite the existing configuration.  That could be
  disastrous.
 
 Ouch.  That's a mighty good point ... although if we were to implement
 Marc's idea of matching signature files, we'd certainly catch the error.
 
 If we didn't, we'd need to use a separate, one-purpose config file that
 just records the xlog location.  Curiously enough, that seems to me to
 be exactly what a symlink does, except that the symlink is OS-level code
 rather than something we have to write for ourselves.  So I'm back to
 thinking that a symlink is a perfectly respectable answer.
 
   regards, tom lane
 
 ---(end of broadcast)---
 TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Tom Lane

Oliver Elphick [EMAIL PROTECTED] writes:
 On Tue, 2002-08-13 at 15:23, Tom Lane wrote:
 Why not just use off_t?  In both cases?

 The prototype for fseek() is long int; I had assumed that off_t was not
 defined if _LARGEFILE_SOURCE was not defined.

Oh, you're right.  A quick look at HPUX shows it's the same way: ftell
returns long int, ftello returns off_t (which presumably is an alias
for long long int).  Okay, OFF_T seems a reasonable answer.

regards, tom lane

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Temporary Views

2002-08-13 Thread Bruce Momjian

Gavin Sherry wrote:
 Hi all,
 
 I'm thinking that temporary views should be pretty trivial to
 implement.
 
 * Allow temporary views
 
 This should be as simple as modifying gram.y (to set
 ViewStmt-view-istemp) and some logic in RemoveTempRelations() to remove
 the view's rule

Yep, pretty simple.

 * Require view using temporary tables to be temporary views
 
 This is the non-trivial part. If you are creating a view on just a
 temporary table there's no problem. But what happens when do the
 following?
 
 CREATE VIEW abc AS select * from tab1,tab2,temp_tab3 ...
 
 SQL99 avoids this with syntax rule 6 of 11.21 view definition
 
   No table reference generally contained in the query expression shall
   identify any declared local temporary table.
 
 There are a few ways it could be implemented:
 
 1) SQL99
 2) Views whose query epression contains one or more table references
 to temporary tables are created as temporary views
 3) Views whose query epression contains one or more table references
 to temporary tables must be explicitly include the TEMP[ORARY] syntax.

The idea is that if the temp table goes away, we don't want the view
continuing to exist.  I think if there are any temp tables in the view,
the view _has_ to be specified by the user as temporary, or we throw an
error telling them it has to be temporary.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Temporary Views

2002-08-13 Thread Tom Lane

Gavin Sherry [EMAIL PROTECTED] writes:
 I'm thinking that temporary views should be pretty trivial to
 implement.

... except not so trivial, per the rest of your note.

Do we actually need any such feature?  Views on temp tables already work
correctly in CVS tip: the implicit DROP CASCADE on temp tables at
backend exit makes such views go 'way too.

regards, tom lane

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Temporary Views

2002-08-13 Thread Rod Taylor

On Tue, 2002-08-13 at 11:11, Tom Lane wrote:
 Gavin Sherry [EMAIL PROTECTED] writes:
  I'm thinking that temporary views should be pretty trivial to
  implement.
 
 ... except not so trivial, per the rest of your note.
 
 Do we actually need any such feature?  Views on temp tables already work
 correctly in CVS tip: the implicit DROP CASCADE on temp tables at
 backend exit makes such views go 'way too.

I was playing with this a while back (when I had initially added CASCADE
to tables).  I believe that in the event of a crash the temp tables are
not removed until their next use.  This means that stale *real* items
may litter the system but the temp table no longer exists in these rare
occurrences.

However, having all temporary items removed during backend startup would
remove this case.


---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



[HACKERS] Please, apply patch for contrib/tsearch

2002-08-13 Thread Teodor Sigaev

CHANGES:

August 13, 2002
 Use parser of OpenFTS v0.33.

-- 
Teodor Sigaev
[EMAIL PROTECTED]




tsearch_patch.gz
Description: application/gzip


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Please, apply patch for contrib/tsearch

2002-08-13 Thread Teodor Sigaev

to current CVS, of course. Sorry
-- 
Teodor Sigaev
[EMAIL PROTECTED]



---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Temporary Views

2002-08-13 Thread Bruce Momjian

Tom Lane wrote:
 Gavin Sherry [EMAIL PROTECTED] writes:
  I'm thinking that temporary views should be pretty trivial to
  implement.
 
 ... except not so trivial, per the rest of your note.
 
 Do we actually need any such feature?  Views on temp tables already work
 correctly in CVS tip: the implicit DROP CASCADE on temp tables at
 backend exit makes such views go 'way too.

Oh.  but RESTRICT is the default.  Seems like the view should go away no
matter what, and if they mix temp and non-temp tables, is it obvious
that the view will disappear if they didn't specify TEMP on view
creation.

I can go either way, but I want to make sure we agree so I can modify
the TODO accordingly.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Temporary Views

2002-08-13 Thread Tom Lane

Rod Taylor [EMAIL PROTECTED] writes:
 I was playing with this a while back (when I had initially added CASCADE
 to tables).  I believe that in the event of a crash the temp tables are
 not removed until their next use.  This means that stale *real* items
 may litter the system but the temp table no longer exists in these rare
 occurrences.

Huh?  The view goes away at exactly the same time the temp table does.
If you suffer a backend crash then that may be postponed ... but the
view continues to work up till the instant that it's removed.

regards, tom lane

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Temporary Views

2002-08-13 Thread Rod Taylor

On Tue, 2002-08-13 at 12:22, Tom Lane wrote:
 Rod Taylor [EMAIL PROTECTED] writes:
  I was playing with this a while back (when I had initially added CASCADE
  to tables).  I believe that in the event of a crash the temp tables are
  not removed until their next use.  This means that stale *real* items
  may litter the system but the temp table no longer exists in these rare
  occurrences.
 
 Huh?  The view goes away at exactly the same time the temp table does.
 If you suffer a backend crash then that may be postponed ... but the
 view continues to work up till the instant that it's removed.

After a backend crash the temp tables exist, but are not usable by the
current backend as it is different than the one which originally created
the temp table (the crash causing a restart and everything).

So non-temp items which depend on the no longer usable temp table will
be broken until they are scrubbed, which does not happen until the next
time a temp table is created.


Not that it really matters, but moving a temp-table destruction event
into the startup sequence would solve it.


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Temporary Views

2002-08-13 Thread Rod Taylor

On Tue, 2002-08-13 at 11:18, Bruce Momjian wrote:
 Tom Lane wrote:
  Gavin Sherry [EMAIL PROTECTED] writes:
   I'm thinking that temporary views should be pretty trivial to
   implement.
  
  ... except not so trivial, per the rest of your note.
  
  Do we actually need any such feature?  Views on temp tables already work
  correctly in CVS tip: the implicit DROP CASCADE on temp tables at
  backend exit makes such views go 'way too.
 
 Oh.  but RESTRICT is the default.  Seems like the view should go away no
 matter what, and if they mix temp and non-temp tables, is it obvious
 that the view will disappear if they didn't specify TEMP on view
 creation.

When the backend exits the code that removes temp tables is CASCADE by
default and anything depending on it will disappear.


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] db partial dumping with pg_dump

2002-08-13 Thread Tom Lane

This patch seems extremely messy to me.  Unless I'm missing something,
-w just plain fails except when you are dumping a specific table (ie,
-t must be given as well).  And heaven help you if you specify a
different table in -t than the one -w is selecting from.  This isn't
well thought out.

I'm not at all convinced that such a thing belongs in pg_dump anyway.
It'd be more useful as a manually-invokable feature, I think.  You
can almost do this in psql with
select * from table where something
\g outfile
but I don't think you can get psql to emit the data in a form that can
be reloaded reliably (it won't quote data characters that look the same
as column delimiters, for instance).

What would seem to make sense is adding a WHERE-clause option to
COPY TO, and then you could go
COPY table TO 'myfile' WHERE ...
We already have column-list support in COPY, so we can already slice the
table vertically --- WHERE would let you slice it horizontally, which
seems a natural extension.  (BTW, has anyone taught psql's \copy about
column lists?  AFAIR the original patch was only against the backend.)

I'm finding it hard to visualize situations where I'd want the extra
baggage of pg_dump for something like this.  If I want the schema at
all, I'll probably want it separate from the data so that I can hack
the schema conveniently --- so I'd want to do a pg_dump -s -t table
and then do the selective copying separately.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] [COMMITTERS] pgsql-server/src backend/tcop/postgres.cbacke

2002-08-13 Thread scott.marlowe

On Mon, 12 Aug 2002, Thomas Lockhart wrote:

  If you move pg_xlog, you have to create a symlink in /data that points
  to the new location.  Initdb would do that automatically, but if you
  move it after initdb, you would have to create the symlink yourself.
  With Thomas's current code, you would add/change PGXLOG instead to point
  to the new location, rather than modify the symlink.
 
 There is no the symlink, but of course that tinkering is in no way
 precluded by the new code. Although some seem to like symlinks, others
 (including myself) see no good engineering practice in making them the
 only foundation for distributing files across file systems.

Why?  You often say you don't like them, but I have yet to see you say why 
you don't like them.

 The patches as-is follow existing PostgreSQL practice,

using environmental variables is a practice we should discontinue if 
possible, and use as little as possible.  They ARE a security hole waiting 
to happen.  

 have complete and
 perfect backward compatibility, and do not preclude changes in
 underlying implementation in the future if those who are objecting
 choose to do a complete and thorough job of meeting my objections to the
 current counter-suggestions. As an example, two lines of code in initdb
 would add the beloved symlink to $PGDATA, eliminating one objection
 though (of course) one I don't support.
 
   One thought at the back of my mind is why not have something like a
   'PG_VERSION' for XLOG?  Maybe something so simple as a text file in both
   the data and xlog directory that just contains a timestamp from the
   initdb?  then, when  you startup postmaster with a -X option, it compares
   the two files and makes sure that they belong to each other?
  Uh, seems it could get messy, but, yea, that would work.  It means
  adding a file to pg_xlog and /data and somehow matching them.  My
  feeling was that the symlink was unambiguous and allowed for fewer
  mistakes.  I think that was Tom's opinion too.
 
 In the spirit of gratutious overstatement, I'll point out again:
 symlinks are evil. Any sense of a job well done is misplaced if our
 underpinnings rely on them for distributing files across file systems.
 As an ad hoc hack to work around current limitations they may have some
 utility.

Why are symlinks evil?  They exist on every major OS I know of, and they 
work.  They allow the user to quickly point the postgresql engine in 
different places, and they are simple and easy to use.  I found the use of 
environmental variables far more confusing when I first started using 
postgresql than symlinks.  

In particular, which operating systems does Postgresql run don't have 
symlink capability?

 Anyway, istm that this is way too much discussion for a small extension
 of capability, and it has likely cost a table and index with location
 implementation for the upcoming release just due to time wasted
 discussing it. Hope it was worth it :/

Well, if it averts a security problem, or makes the database easier to use 
in the long run, then it probably was.  It may seem like too much 
discussion for such a simple topic, but it's not.

My non-coding vote goes with Tom Lane on this.  initdb can set pg_xlog, 
and if you need to change it, use symlinks.  They're safe, secure, and 
they just plain work.  The only argument I can possibly think of against 
the symlink boogie is if there is an os we run on that can't do symlinks.  
And then I'd still think it would belong in postgresql.conf, be set by 
initdb, and not be an environmental variable.

Of course that's just my opinion, I could be wrong (with apologies to 
Dennis Miller)

Scott Marlowe


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Temporary Views

2002-08-13 Thread Bruce Momjian

Rod Taylor wrote:
 On Tue, 2002-08-13 at 11:18, Bruce Momjian wrote:
  Tom Lane wrote:
   Gavin Sherry [EMAIL PROTECTED] writes:
I'm thinking that temporary views should be pretty trivial to
implement.
   
   ... except not so trivial, per the rest of your note.
   
   Do we actually need any such feature?  Views on temp tables already work
   correctly in CVS tip: the implicit DROP CASCADE on temp tables at
   backend exit makes such views go 'way too.
  
  Oh.  but RESTRICT is the default.  Seems like the view should go away no
  matter what, and if they mix temp and non-temp tables, is it obvious
  that the view will disappear if they didn't specify TEMP on view
  creation.
 
 When the backend exits the code that removes temp tables is CASCADE by
 default and anything depending on it will disappear.

Oh, OK, that is interesting.  So that only leaves the issue of not
specifying TEMP in a case of views using mixed temp/non-temp tables.  We
don't specify TEMP when creating an index on a temp table, and it is
auto-destroyed.  I guess it is OK that we don't specify TEMP on a view
creation using a temp table, except that the view can have a mix of temp
and non-temp while an index is just on one table.

I can go either way on this.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Temporary Views

2002-08-13 Thread Tom Lane

Bruce Momjian [EMAIL PROTECTED] writes:
 I can go either way on this.

AFAICS create temp view would have some small advantage of keeping the
view's name out of possibly-public permanent namespaces, so the step of
just adding the TEMP option to CREATE VIEW may be worth doing.  The
advantage isn't very big but neither is the amount of work.

Trying to prohibit non-temp views on temp tables strikes me as more work
than it's worth; that TODO item was written before we had dependencies,
and I think it's obsolete.  Basically the point of the TODO was to avoid
having broken views --- and we have solved that problem.

regards, tom lane

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Temporary Views

2002-08-13 Thread Bruce Momjian

Tom Lane wrote:
 Bruce Momjian [EMAIL PROTECTED] writes:
  I can go either way on this.
 
 AFAICS create temp view would have some small advantage of keeping the
 view's name out of possibly-public permanent namespaces, so the step of
 just adding the TEMP option to CREATE VIEW may be worth doing.  The
 advantage isn't very big but neither is the amount of work.

What about indexes?  Do indexes on temp tables exist in the temp
namespace?  I would think they should by default, as well as views based
on temp tables.  Certainly no one else should be able to see the temp
index/views.

 Trying to prohibit non-temp views on temp tables strikes me as more work
 than it's worth; that TODO item was written before we had dependencies,
 and I think it's obsolete.  Basically the point of the TODO was to avoid
 having broken views --- and we have solved that problem.

Yes, if it auto-temps because it is based on a temp object, that is fine
by me.  However, based on your comments above, I think it should
auto-temp fully, rather than just auto-destroy.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Joe Conway

Oliver Elphick wrote:
 On Tue, 2002-08-13 at 03:57, Greg Copeland wrote:
Ext2  3 should be okay.  XFS (very sure) and JFS (reasonably sure)
should also be okay...IIRC.  NFS and SMB are probably problematic, but I
can't see anyone really wanting to do this. 
 
 Hmm. Whereas I can't see many people putting their database files on an
 NFS mount, I can readily see them using pg_dump to one, and pg_dump is
 the program where large files are really likely to be needed.

I wouldn't totally discount using NFS for large databases. Believe it or 
not, with an Oracle database and a Network Appliance for storage, NFS is 
exactly what is used. We've found that we get better performance with a 
(properly tuned) NFS mounted NetApp volume than with attached storage on 
our HPUX box with several 100+GB databases.

Joe


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] VACUUM's No one parent tuple was found, redux

2002-08-13 Thread Barry Lind



Tom Lane wrote:


Also, for Mario and Barry: does this test case look anything like what
your real applications do?  In particular, do you ever do a SELECT FOR
UPDATE in a transaction that commits some changes, but does not update
or delete the locked-for-update row?  If not, it's possible there are
yet more bugs lurking in this.

This certainly seems plausible for my application.

--Barry



---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Temporary Views

2002-08-13 Thread Tom Lane

Bruce Momjian [EMAIL PROTECTED] writes:
 What about indexes?  Do indexes on temp tables exist in the temp
 namespace?

Yes, a fortiori: any index exists in its table's namespace.  Seems
pretty irrelevant to the point at hand, though.

regards, tom lane

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Please, apply patch for contrib/tsearch

2002-08-13 Thread Bruce Momjian


Your patch has been added to the PostgreSQL unapplied patches list at:

http://candle.pha.pa.us/cgi-bin/pgpatches

I will try to apply it within the next 48 hours.

---


Teodor Sigaev wrote:
 CHANGES:
 
 August 13, 2002
  Use parser of OpenFTS v0.33.
 
 -- 
 Teodor Sigaev
 [EMAIL PROTECTED]
 

[ application/gzip is not supported, skipping... ]

 
 ---(end of broadcast)---
 TIP 4: Don't 'kill -9' the postmaster

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] db partial dumping with pg_dump

2002-08-13 Thread Oleg Bartunov

On Tue, 13 Aug 2002, Tom Lane wrote:

 This patch seems extremely messy to me.  Unless I'm missing something,
 -w just plain fails except when you are dumping a specific table (ie,
 -t must be given as well).  And heaven help you if you specify a
 different table in -t than the one -w is selecting from.  This isn't
 well thought out.

You're right. The patch I've sent was no way for submitting to sources !
I just asked about the feature and attached to message for Rod Taylor.


 I'm not at all convinced that such a thing belongs in pg_dump anyway.
 It'd be more useful as a manually-invokable feature, I think.  You
 can almost do this in psql with
   select * from table where something
   \g outfile
 but I don't think you can get psql to emit the data in a form that can
 be reloaded reliably (it won't quote data characters that look the same
 as column delimiters, for instance).


that was the reason we don't use psql for dumping


 What would seem to make sense is adding a WHERE-clause option to
 COPY TO, and then you could go
   COPY table TO 'myfile' WHERE ...
 We already have column-list support in COPY, so we can already slice the
 table vertically --- WHERE would let you slice it horizontally, which
 seems a natural extension.  (BTW, has anyone taught psql's \copy about
 column lists?  AFAIR the original patch was only against the backend.)

 I'm finding it hard to visualize situations where I'd want the extra
 baggage of pg_dump for something like this.  If I want the schema at
 all, I'll probably want it separate from the data so that I can hack
 the schema conveniently --- so I'd want to do a pg_dump -s -t table
 and then do the selective copying separately.


that'd be nice ! I often need such a feature because db at work are often
too large to play at home :-)


   regards, tom lane

 ---(end of broadcast)---
 TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Regards,
Oleg
_
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: [EMAIL PROTECTED], http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



[HACKERS] Possible enhancement : replace view ?

2002-08-13 Thread Emmanuel Charpentier

Dear all,

The current implementation of views uses OIDs, not table/view names. As 
a consequence, when you happen to replace (drop then create) an 
underlying table or view, you also have to drop and recreate all views 
using this table|view (and this recursively, of course ...).

I stumbled on this while doing repeat analyses (involving repeated uses 
of aggregation) of the same dataset using slight variations of the 
subset of interest. When my dataset was small, I used to do that in 
(yuck !) MS-Access by creating a view defining the subset of interest, 
then creating views based on this view, and so on... Now that my dataset 
  is too large to be Access-manageable, I migrated it to PostgreSQL 
(which, BTW, gave me nice performance enhancements), but I had to change 
  my working habits. I have now to create a script defining my views, 
then to run it at each and every variation of the subset of interest ... 
To be able to conserve existing views would definitely be a bonus.

Of course, the overhead is necessary to handle the general case. 
However, there is a special case where this is unnecessary : when the 
new table or view class definition is a (possibly improper) subclass 
of the original one, or, if you prefer, when the column set of the new 
definition is a (possibly improper) superset of the old one.

For tables, this case is already handled by a judicious use of alter 
table, at least in its present form (adding DROP COLUMN, which might be 
an interesting feature for other reasons, entails the risk of 
invalidating existing views ...). However, there is currently no easily 
reachable way to do that for a view (I suppose that the special case of 
modifying the definition of a view creating the same columns in the old 
and new definitions might be possible with a clever (ab)use of system 
catalogs, but I tend to be *very* wary of such hacks ...).

Of course, I am aware that view definitions aren't just stored, but that 
  a lot of rewriting is involved before storing the actual execution 
plan.Modifying a view definition would entail re-processing of other 
view definitions. But so is the case with the modification of a table ...

What do you think ?

-- 
Emmanuel Charpentier


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Possible enhancement : replace view ?

2002-08-13 Thread Tom Lane

Emmanuel Charpentier [EMAIL PROTECTED] writes:
 What do you think ?

I think Gavin Sherry is already working on this.

regards, tom lane

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Possible enhancement : replace view ?

2002-08-13 Thread Emmanuel Charpentier

Hannu Krosing wrote:
 On Wed, 2002-08-14 at 04:08, Emmanuel Charpentier wrote:
 
Dear all,

 
 ...
 
 
Of course, I am aware that view definitions aren't just stored, but that 
  a lot of rewriting is involved before storing the actual execution 
plan.Modifying a view definition would entail re-processing of other 
view definitions. But so is the case with the modification of a table ...

What do you think ?
 
 
 I'm trying to propose a scenario where
 
 1. The SELECT clause defining the view is preserved
 
 2. DROP of undrlying table/column will _not_ drop the view, but just
 mark it dirty
 
 3. Using the view checks for the dirty flag and if it is set tries to
 recreate the view from its plaintext definition.

I might be dense, but why not try to recreate it directly after the 
table/column modification ?

 ---
 Hannu
 
 
 ---(end of broadcast)---
 TIP 5: Have you checked our extensive FAQ?
 
 http://www.postgresql.org/users-lounge/docs/faq.html


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Possible enhancement : replace view ?

2002-08-13 Thread Gavin Sherry

Tom,

I submitted a patch for this a few days ago. Did it not hit pgsql-patches?

Gavin

On Tue, 13 Aug 2002, Tom Lane wrote:

 Emmanuel Charpentier [EMAIL PROTECTED] writes:
  What do you think ?
 
 I think Gavin Sherry is already working on this.
 
   regards, tom lane
 
 ---(end of broadcast)---
 TIP 4: Don't 'kill -9' the postmaster
 


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Temporary Views

2002-08-13 Thread Bruce Momjian

Tom Lane wrote:
 Bruce Momjian [EMAIL PROTECTED] writes:
  What about indexes?  Do indexes on temp tables exist in the temp
  namespace?
 
 Yes, a fortiori: any index exists in its table's namespace.  Seems
 pretty irrelevant to the point at hand, though.

Just checking.  So the index exists in the same namespace as the table. 
Makes sense.  Same with sequences, I assume.

Of course, views can represent multiple tables so I think they should go
into the names space with the temp tables.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Possible enhancement : replace view ?

2002-08-13 Thread Emmanuel Charpentier



Hannu Krosing wrote:
 On Wed, 2002-08-14 at 04:23, Emmanuel Charpentier wrote:
 
Hannu Krosing wrote:

I'm trying to propose a scenario where

1. The SELECT clause defining the view is preserved

2. DROP of undrlying table/column will _not_ drop the view, but just
mark it dirty

3. Using the view checks for the dirty flag and if it is set tries to
recreate the view from its plaintext definition.

I might be dense, but why not try to recreate it directly after the 
table/column modification ?
 
 
 If it is a DROP TABLE/CREATE TABLE sequence you have no idea that you
 have to recreate a view.

Right. But I was wary of delaying recreation : views are more often than 
not created by programmers/DBAs/someone somewhat competent in DB design 
and use, in order to be used by people not necessarily aware of the real 
struxture of data (that's the whole point of having views, BTW). 
Delaying recreation entails the risk of overlooking a problem and 
getting a nice phone call  at 2 AM from the maintainance guy stuttering 
that he can no longer access its (vital, of course) data ...

Tradeoffs, again ... What about emitting warnings after table drop 
(easy)/creation (not so easy !) ?

BTW : since drop column and alter various attributes (not null, primary 
key, etc ...) will be possible, shoudn't the need to drop/recteate a 
table drastically decrease ?

E. g. : I recently created a log table wit a field date timestamptz 
default now(), only to discover that, due to current limitations of the 
ODBC driver, I should have used timestamptz[0] (ODBC doesn't like 
fraction of seconds in datetime). I kludged away bby updating (set 
date=date_trunc('second',date)) and altering default to 
date_trunc('second',date) (Yuck !), but the real solution would have 
been of course to recreate the column with the right attribute, which 
currently involves dropping/recreating the table, therefore losing all 
defined views.

What a ten-thumbs programmer such as me would love to see in such a 
scenario would be something along the lines of :

# Create table T (date as timestamp defailt now(), ...) ...;
CREATE
# Create view X as select date, ... from T join ...;
CREATE
# Create view Y as select anthing but date ... from T where ...;
CREATE
Create view Z as select date, ... from T join ...;
# CREATE
Create view U as select ... from Z left outer join ...;
---
--- Insert data here
---
...
---
--- Later ! Insert ODBC epiphany  here
---
# alter table T add column newdate timestamptz[0];
ALTER --- I can't remember the exact acknowledgement sent for alter column
update T set newdate=date;
UPDATE (somenumber) 0
alter table T rename column date to olddate;
ALTER --- ditto
WARNING : View X might have become invalid. Please check it or drop it !
WARNING : View Z might have become invalid. Please check it or drop it !
WARNING : View U might have become invalid. Please check it or drop it !
alter table T rename newdate to date;
ALTER --- ditto;
WARNING : View X successfully recreated from it's original SQL 
definition. Please check it or drop it !
WARNING : View Z successfully recreated from it's original SQL 
definition. Please check it or drop it !
WARNING : View U successfully recreated from it's original SQL 
definition. Please check it or drop it !
Alter table T drop column olddate;
ALTER

Exercise left for the reader : what about inheritance ?
Another exercise : what about adding/dropping indices (indexes ?) ?

Your thoughs ?

__
Emmanuel Charpentier


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Possible enhancement : replace view ?

2002-08-13 Thread Rod Taylor


 Tradeoffs, again ... What about emitting warnings after table drop 
 (easy)/creation (not so easy !) ?

The warnings are certainly there now.  Dependency code won't let you do
such a thing without specifying CASCADE.

Hopefully CREATE OR REPLACE VIEW will be applied soon, which solves part
two of the problem.


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Oliver Elphick

On Tue, 2002-08-13 at 17:11, Rod Taylor wrote:
  I wouldn't totally discount using NFS for large databases. Believe it or 
  not, with an Oracle database and a Network Appliance for storage, NFS is 
  exactly what is used. We've found that we get better performance with a 
  (properly tuned) NFS mounted NetApp volume than with attached storage on 
  our HPUX box with several 100+GB databases.
 
 We've also tended to keep logs local on raid 1 and the data on a pair of
 custered netapps for PostgreSQL.

But large file support is not really an issue for the database itself,
since table files are split at 1Gb.  Unless that changes, the database
is not a problem.
 
-- 
Oliver Elphick[EMAIL PROTECTED]
Isle of Wight, UK
http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
 
 Watch ye therefore, and pray always, that ye may be 
  accounted worthy to escape all these things that shall
  come to pass, and to stand before the Son of man.
   Luke 21:36 


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Tom Lane

Oliver Elphick [EMAIL PROTECTED] writes:
 But large file support is not really an issue for the database itself,
 since table files are split at 1Gb.  Unless that changes, the database
 is not a problem.

I see no really good reason to change the file-split logic.  The places
where the backend might possibly need large-file support are
* backend-side COPY to or from a large file
* postmaster log to stderr --- does this fail if log output
  exceeds 2G?
There might be some other similar issues, but that's all that comes to
mind offhand.

On a system where building with large-file support is reasonably
standard, I agree that PG should be built that way too.  Where it's
not so standard, I agree with Andrew Sullivan's concerns ...

regards, tom lane

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Andrew Sullivan

On Tue, Aug 13, 2002 at 01:04:02PM -0400, Tom Lane wrote:
 
 I see no really good reason to change the file-split logic.  The places
 where the backend might possibly need large-file support are
   * backend-side COPY to or from a large file

I _think_ this causes a crash.  At least, I _think_ that's what
caused it one day (I was doing one of those jackhammer-the-server
sorts of tests, and it was one of about 50 things I was doing at the
time, to see if I could make it fall over.  I did, but not where I
expected, and way beyond any real load we could anticipate).

   * postmaster log to stderr --- does this fail if log output
 exceeds 2G?

Yes, definitely, at least on Solaris.

A

-- 

Andrew Sullivan   87 Mowat Avenue 
Liberty RMS   Toronto, Ontario Canada
[EMAIL PROTECTED]  M6K 3E3
 +1 416 646 3304 x110


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] libpqxx

2002-08-13 Thread Peter Eisentraut

Marc G. Fournier writes:

 Okay, but if we are going to pull libpqxx, what about the other lib's too?

Certain things apply to libpqxx that don't all apply to the others libs:
It is maintained and developed independently anyway.  It's new and not
integrated yet.  It's a different programming language.  It's a
non-standard interface.  It's big.

If there is ever going to be any motion toward separating parts of the
source tree, libpqxx has to be the start.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



[HACKERS] Everything is now required by the database system

2002-08-13 Thread Peter Eisentraut

With the new dependency system we have the entire system catalog content
pinned down and unchangeable.  This is a tiny dent in the nice extensible
nature of the system.

Would it be feasible to identify the non-essential parts of the built-in
objects (say, inet type, numeric type, associated functions, etc.) and
declare those with regular SQL commands in initdb?  In the end, the system
catalog contents in include/catalog/ would only contain the bootstrap
content.  For example, the pg_proc content could be made more manageable
that way.

Not sure if this is worth considering for this release, but it might be a
medium-term project.

Comments?

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] [COMMITTERS] pgsql-server/src

2002-08-13 Thread Marc G. Fournier

On Tue, 13 Aug 2002, Bruce Momjian wrote:

 Marc G. Fournier wrote:
   I think Tom is on to something here.  I meant to ask but never got
   around to it.  Why would anyone need to move the XLOG after you've
   inited the db?
 
  I just determined that disk I/O is terrible, so want to move the XLOG over
  to a different file system that is currently totally idle ...

 Yep, and you are going to do it using symlinks.  Let us know how it
 goes?

This was purely an fictional example ...



---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Everything is now required by the database system

2002-08-13 Thread Bruce Momjian

Peter Eisentraut wrote:
 With the new dependency system we have the entire system catalog content
 pinned down and unchangeable.  This is a tiny dent in the nice extensible
 nature of the system.
 
 Would it be feasible to identify the non-essential parts of the built-in
 objects (say, inet type, numeric type, associated functions, etc.) and
 declare those with regular SQL commands in initdb?  In the end, the system
 catalog contents in include/catalog/ would only contain the bootstrap
 content.  For example, the pg_proc content could be made more manageable
 that way.
 
 Not sure if this is worth considering for this release, but it might be a
 medium-term project.

Uh, some tools rely on those oids being fixed values, don't they?  For
example, I see ecpg using NUMERICOID.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] libpqxx

2002-08-13 Thread Tom Lane

Peter Eisentraut [EMAIL PROTECTED] writes:
 Marc G. Fournier writes:
 Okay, but if we are going to pull libpqxx, what about the other lib's too?

 Certain things apply to libpqxx that don't all apply to the others libs:
 It is maintained and developed independently anyway.  It's new and not
 integrated yet.  It's a different programming language.  It's a
 non-standard interface.  It's big.

 If there is ever going to be any motion toward separating parts of the
 source tree, libpqxx has to be the start.

I agree with Peter's points here --- but separating libpqxx alone isn't
the right answer.  We need to pull both libpqxx and libpq++ at the same
time, else we'll be creating the wrong impression about what we think of
libpqxx.

Another thing that would be reasonable to separate out in the near term
is interfaces/perl5, which is not favored over the DBI driver.

JDBC and ODBC are almost separate projects already, and perhaps should
be cut loose so they can have their own release cycles.  I'd defer to
the maintainers of those interfaces about what they want to do, though.

I'm not particularly concerned about removing the other interfaces such
as libpgtcl and python.  They're not large and they're (AFAIK) the only
alternatives for their languages.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Everything is now required by the database system

2002-08-13 Thread Tom Lane

Peter Eisentraut [EMAIL PROTECTED] writes:
 With the new dependency system we have the entire system catalog content
 pinned down and unchangeable.  This is a tiny dent in the nice extensible
 nature of the system.

It's still extensible, it's just not so easily contractible...

I'm not sure that this matters, as I've never heard of anyone actually
troubling to remove unused datatypes etc.

 Would it be feasible to identify the non-essential parts of the built-in
 objects (say, inet type, numeric type, associated functions, etc.) and
 declare those with regular SQL commands in initdb?  In the end, the system
 catalog contents in include/catalog/ would only contain the bootstrap
 content.  For example, the pg_proc content could be made more manageable
 that way.

No, it would become a lot less manageable because we'd have a harder
time controlling OIDs for builtin types and functions.  We'd end up
having to push everything we deemed inessential out to non-builtin
status (compare the contrib items that create new types).  While there's
some stuff like money and the geometric types that maybe deserve such
demotion, there's not enough to get me excited about trimming it.

While reviewing the pg_depend patch I was hoping that we could pin just
a subset of the initial catalog contents, but eventually decided it was
(a) tricky and (b) not worth the trouble.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread strange

On Tue, Aug 13, 2002 at 01:04:02PM -0400, Tom Lane wrote:
 On a system where building with large-file support is reasonably
 standard, I agree that PG should be built that way too.  Where it's
 not so standard, I agree with Andrew Sullivan's concerns ...

What do you mean by standard? That only some filesystems are supported?
In Linux the vfat filesystem doesn't support largefiles, so the behaviour
is the same as if the application didn't specify O_LARGEFILE to open(2):
As Helge Bahmann pointed out, kernel will refuse to write files larger than
2GB. In current Linux, a signal (SIGXFSZ) is sent to the application
that then dumps core.


So, the use of O_LARGEFILE is nullified by the lack of support by the
filesystem, but no problem is introduced by the application supporting
largefiles, it already existed before.

All the crashes and problems presented on these lists occur when largefile
support isn't compiled, I didn't see one occuring from any application
having the support, but not the filesystem. (Your not so standard
support?)

The changes to postgresql doesn't seem complicated, I can try to make them
myself (fcntl on stdout, stdin; add check to autoconf; etc.) if no one
else volunteers.

Regards,
Luciano Rocha

-- 
Consciousness: that annoying time between naps.

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Andrew Sullivan

On Tue, Aug 13, 2002 at 06:45:59PM +0100, [EMAIL PROTECTED] wrote:

 support isn't compiled, I didn't see one occuring from any application
 having the support, but not the filesystem. (Your not so standard

Wrong.  The symptom is _exactly the same_ if the program doesn't have
the support, the filesystem doesn't have the support, or both, at
least on Solaris.  I've checked.

A

-- 

Andrew Sullivan   87 Mowat Avenue 
Liberty RMS   Toronto, Ontario Canada
[EMAIL PROTECTED]  M6K 3E3
 +1 416 646 3304 x110


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Greg Copeland

On Tue, 2002-08-13 at 12:45, [EMAIL PROTECTED] wrote:
 On Tue, Aug 13, 2002 at 01:04:02PM -0400, Tom Lane wrote:
  On a system where building with large-file support is reasonably
  standard, I agree that PG should be built that way too.  Where it's
  not so standard, I agree with Andrew Sullivan's concerns ...
 
 What do you mean by standard? That only some filesystems are supported?
 In Linux the vfat filesystem doesn't support largefiles, so the behaviour
 is the same as if the application didn't specify O_LARGEFILE to open(2):
 As Helge Bahmann pointed out, kernel will refuse to write files larger than
 2GB. In current Linux, a signal (SIGXFSZ) is sent to the application
 that then dumps core.
 
 
 So, the use of O_LARGEFILE is nullified by the lack of support by the
 filesystem, but no problem is introduced by the application supporting
 largefiles, it already existed before.
 

Thank you.  That's a point that I previously pointed out...you just did
a much better job of it.  Specifically, want to stress that enabling
large file support is not dangerous.

Greg




signature.asc
Description: This is a digitally signed message part


Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Greg Copeland

On Tue, 2002-08-13 at 12:04, Tom Lane wrote:
 
 On a system where building with large-file support is reasonably
 standard, I agree that PG should be built that way too.  Where it's
 not so standard, I agree with Andrew Sullivan's concerns ...


Agreed.  This is what I originally asked for.

Greg




signature.asc
Description: This is a digitally signed message part


Re: [HACKERS] FUNC_MAX_ARGS benchmarks

2002-08-13 Thread Bruce Momjian


I am working on a patch to increase these as agreed.  I found this
interesting, from the 6.3 release notes:

   Increase 16 char limit on system table/index names to 32 characters(Bruce)

The limited to be 16 chars until 6.3 in 1998-03-01.

---

Christopher Kings-Lynne wrote:
   NAMEDATALEN will be 64 or 128 in 7.3.  At this point, we better decide
   which one we prefer.
  
   The conservative approach would be to go for 64 and perhaps increase it
   again in 7.4 after we get feedback and real-world usage.  If we go to
   128, we will have trouble decreasing it if there are performance
   problems.
 
  I guess I'd also agree with:
 FUNC_MAX_ARGS 32
 NAMEDATALEN 64
  and work on the performance issues for 7.4.
 
 I agree too.
 
 Chris
 
 
 
 ---(end of broadcast)---
 TIP 6: Have you searched our list archives?
 
 http://archives.postgresql.org
 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Temporary Views

2002-08-13 Thread Hannu Krosing

On Tue, 2002-08-13 at 20:43, Tom Lane wrote:
 Bruce Momjian [EMAIL PROTECTED] writes:
  I can go either way on this.
 
 AFAICS create temp view would have some small advantage of keeping the
 view's name out of possibly-public permanent namespaces, so the step of
 just adding the TEMP option to CREATE VIEW may be worth doing.  The
 advantage isn't very big but neither is the amount of work.

Actually I think that having the views on any temp table also temp is
mandatory, or else these views will be broken in all other backends than
the one that created them (or expose other backends temp tables and are
thereby a security risk).

 Trying to prohibit non-temp views on temp tables strikes me as more work
 than it's worth;

What I would expect (if I had not read this thread and did not know
anything about PG's view implementation) would be that if view on temp
table was not defined temp itself, it would be automatically recompiled
on first use after the temp table was created in current session. So
forcing it to be explicitly declared TEMP would save me from that
mistake. 

I'd expect automatic recompilation of view to be done sometime in future
via saving view definition text, so that 'select * from t' would still
return all columns after alter table t add column k

 that TODO item was written before we had dependencies, and I think
 it's obsolete.  Basically the point of the TODO was to avoid
 having broken views --- and we have solved that problem.

We may have broken views again when alter table drop column gets done
.

--
Hannu

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] db partial dumping with pg_dump

2002-08-13 Thread Hannu Krosing

On Tue, 2002-08-13 at 20:24, Tom Lane wrote:
 
 What would seem to make sense is adding a WHERE-clause option to
 COPY TO, and then you could go
   COPY table TO 'myfile' WHERE ...

What about :

COPY table TO 'myfile' [ WHERE cond ] [ AS INSERT [ WITH COLUMN ] ];

to get the data as INSERT INTO statements (pg_dump -d), with optional
column list (pg_dump -D)


Hannu


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread strange

On Tue, Aug 13, 2002 at 02:09:07PM -0400, Andrew Sullivan wrote:
 On Tue, Aug 13, 2002 at 06:45:59PM +0100, [EMAIL PROTECTED] wrote:
 
  support isn't compiled, I didn't see one occuring from any application
  having the support, but not the filesystem. (Your not so standard
 
 Wrong.  The symptom is _exactly the same_ if the program doesn't have
 the support, the filesystem doesn't have the support, or both, at
 least on Solaris.  I've checked.

??

My point is that: Having postgresql the support doesn't bring NEW errors.

I never said postgresql would automagically gain support on filesystems
that don't support largfiles, I said no one mentioned an error caused by
postgresql *having* the support, but *not the filesystem*. Maybe I wasn't
clear, but I meant *new* errors.

As it seams, adding support to largefiles doesn't break anything.

Regards,
Luciano Rocha

-- 
Consciousness: that annoying time between naps.

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] db partial dumping with pg_dump

2002-08-13 Thread Bruce Momjian


Actually, loading all this stuff into COPY is not the way to go, I
think.  

Informix had:

UNLOAD TO 'filename'
SELECT ...

I have to admit, this is a superior way to do thing compared to what we
have.  Is is possible for us to get:

COPY TO 'filename'
SELECT ...

It allows any arbitrary table, group by, even order by combination.


---

Hannu Krosing wrote:
 On Tue, 2002-08-13 at 20:24, Tom Lane wrote:
  
  What would seem to make sense is adding a WHERE-clause option to
  COPY TO, and then you could go
  COPY table TO 'myfile' WHERE ...
 
 What about :
 
 COPY table TO 'myfile' [ WHERE cond ] [ AS INSERT [ WITH COLUMN ] ];
 
 to get the data as INSERT INTO statements (pg_dump -d), with optional
 column list (pg_dump -D)
 
 
 Hannu
 
 
 ---(end of broadcast)---
 TIP 4: Don't 'kill -9' the postmaster
 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Temporary Views

2002-08-13 Thread Rod Taylor

  that TODO item was written before we had dependencies, and I think
  it's obsolete.  Basically the point of the TODO was to avoid
  having broken views --- and we have solved that problem.
 
 We may have broken views again when alter table drop column gets done

Any view depending on a column which is dropped should also be removed
via the dependency code.  Views won't break but you can't drop a column
that is used in a view without specifying cascade.

This is a case where create or replace view is useful.  Change the view
definition to no longer be dependent on the object you wish to drop.



---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Everything is now required by the database system

2002-08-13 Thread Hannu Krosing

On Tue, 2002-08-13 at 22:38, Tom Lane wrote:
 Peter Eisentraut [EMAIL PROTECTED] writes:
  With the new dependency system we have the entire system catalog content
  pinned down and unchangeable.  This is a tiny dent in the nice extensible
  nature of the system.
 
 It's still extensible, it's just not so easily contractible...
 
 I'm not sure that this matters, as I've never heard of anyone actually
 troubling to remove unused datatypes etc.

It could become an issue if PostgreSQL became populat in embedded
systems, but then it can of course be done in include/catalog/.

  Would it be feasible to identify the non-essential parts of the built-in
  objects (say, inet type, numeric type, associated functions, etc.) and
  declare those with regular SQL commands in initdb?  In the end, the system
  catalog contents in include/catalog/ would only contain the bootstrap
  content.  For example, the pg_proc content could be made more manageable
  that way.
 
 No, it would become a lot less manageable because we'd have a harder
 time controlling OIDs for builtin types and functions.

We have COPY ... WITH OIDS for some time already. 

Maybe we should also allow setting OID in INSERT and UPDATE ?

It could be a good idea to give out OID ranges for contrib modules so
that frontends would not need to worry about changing binary formats for
same types.

That could also suggest that the new int8-based datetime type should
have a separate OID from the old one.

 We'd end up
 having to push everything we deemed inessential out to non-builtin
 status (compare the contrib items that create new types).  While there's
 some stuff like money and the geometric types

It would be nice if for example GEOMETRY could be a separate installable
package (a datablade in Illustra parlance).

IP types (cidr, macadr) are also a good candidate for non-builtin type

money type could be a package by its own ;)

 that maybe deserve such
 demotion, there's not enough to get me excited about trimming it.
 While reviewing the pg_depend patch I was hoping that we could pin just
 a subset of the initial catalog contents, but eventually decided it was
 (a) tricky 

True

 (b) not worth the trouble.

But it could still be something to watch out for doing in the future.

Of course we will have then package dependency issues, but most likely
at least the GEOMETRY,IP and MONEY packages don't need each other.

There are also two kinds of builtins - things that are almost
exclusively used by system (smgr, oidvector, int2vector, tid, xid, cid,
regproc, refcursor, aclitem, name) and basic types of general utility
(int, date, text, ...)

Probably every type not used in system tables themselves could be made
loadable after initdb.

-
Hannu



---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] OOP real life example (was Re: Why is MySQL more

2002-08-13 Thread Hannu Krosing

On Tue, 2002-08-13 at 18:48, Don Baccus wrote:
 Greg Copeland wrote:
  On Tue, 2002-08-13 at 00:16, Curt Sampson wrote:
  
...
 
 And yes I know he's not reading my mail and no, don't bother repeating 
 this to him, he'll just continue to ignore the point.

I suspect that he will still read your (partial) comments in replies to
your mails and has to look the originals up in archives in case he gets
interested in what the other guys respond to ;)

-
Hannu 

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Temporary Views

2002-08-13 Thread Hannu Krosing

On Wed, 2002-08-14 at 00:10, Rod Taylor wrote:
   that TODO item was written before we had dependencies, and I think
   it's obsolete.  Basically the point of the TODO was to avoid
   having broken views --- and we have solved that problem.
  
  We may have broken views again when alter table drop column gets done
 
 Any view depending on a column which is dropped should also be removed
 via the dependency code.  Views won't break but you can't drop a column
 that is used in a view without specifying cascade.
 
 This is a case where create or replace view is useful.  Change the view
 definition to no longer be dependent on the object you wish to drop.

in case of a 'SELECT *' view it could just be an (automatic) recompile.

the same in case column type gets changed.

---
Hannu


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Temporary Views

2002-08-13 Thread Tom Lane

Hannu Krosing [EMAIL PROTECTED] writes:
 We may have broken views again when alter table drop column gets done

It is done, and we do not have broken views.

regression=# create table t (f1 int, f2 int, f3 int);
CREATE TABLE
regression=# create view v as select f1,f2 from t;
CREATE VIEW
regression=# alter table t drop column f3;
ALTER TABLE
regression=# alter table t drop column f2;
NOTICE:  rule _RETURN on view v depends on table t column f2
NOTICE:  view v depends on rule _RETURN on view v
ERROR:  Cannot drop table t column f2 because other objects depend on it
Use DROP ... CASCADE to drop the dependent objects too
regression=#

regards, tom lane

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] db partial dumping with pg_dump

2002-08-13 Thread Hannu Krosing

On Wed, 2002-08-14 at 00:03, Bruce Momjian wrote:
 
 Actually, loading all this stuff into COPY is not the way to go, I
 think.  
 
 Informix had:
 
   UNLOAD TO 'filename'
   SELECT ...
 
 I have to admit, this is a superior way to do thing compared to what we
 have.  Is is possible for us to get:
 
   COPY TO 'filename'
   SELECT ...
 
 It allows any arbitrary table, group by, even order by combination.


It would be more in line with the rest of the system to just allow
subselect as 'table'

COPY (select in,name from mystuff wher id  10) over10stuff TO stdout;

-
Hannu


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] db partial dumping with pg_dump

2002-08-13 Thread Bruce Momjian

Hannu Krosing wrote:
 On Wed, 2002-08-14 at 00:03, Bruce Momjian wrote:
  
  Actually, loading all this stuff into COPY is not the way to go, I
  think.  
  
  Informix had:
  
  UNLOAD TO 'filename'
  SELECT ...
  
  I have to admit, this is a superior way to do thing compared to what we
  have.  Is is possible for us to get:
  
  COPY TO 'filename'
  SELECT ...
  
  It allows any arbitrary table, group by, even order by combination.
 
 
 It would be more in line with the rest of the system to just allow
 subselect as 'table'
 
 COPY (select in,name from mystuff wher id  10) over10stuff TO stdout;

Yep, that would work too.  Clearly, we should shoot for something that
leverages the existing SELECT code rather than hang more clauses off of
COPY.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Everything is now required by the database system

2002-08-13 Thread Tom Lane

Hannu Krosing [EMAIL PROTECTED] writes:
 On Tue, 2002-08-13 at 22:38, Tom Lane wrote:
 It's still extensible, it's just not so easily contractible...
 
 I'm not sure that this matters, as I've never heard of anyone actually
 troubling to remove unused datatypes etc.

 It could become an issue if PostgreSQL became populat in embedded
 systems, but then it can of course be done in include/catalog/.

For an embedded system I'd think you'd want to strip out the support
code for the unwanted types (ie, the utils/adt/ file(s)), not only the
catalog entries.  So it's source code changes in any case.  The catalog
entries alone occupy so little space that it's not even worth anyone's
trouble to remove them, AFAICS.

 Probably every type not used in system tables themselves could be made
 loadable after initdb.

It certainly *could* be done.  Whether it's worth the trouble is highly
doubtful.  I'd also be concerned about the performance hit (loadable
functions are noticeably slower than built-ins).

Again, when was the last time you heard of anyone actually bothering to
remove built-in entries from pg_proc or pg_type?  I can't see expending
a considerable amount of work on a feature that no one will use.

regards, tom lane

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] db partial dumping with pg_dump

2002-08-13 Thread Tom Lane

Bruce Momjian [EMAIL PROTECTED] writes:
 Clearly, we should shoot for something that leverages the existing
 SELECT code rather than hang more clauses off of COPY.

Yeah, that's a good point.  COPY IN is still a special case, I think,
but seems like COPY OUT could be reimplemented as a special tuple
destination for the regular executor machinery.

Q: how much performance hit would we be taking?  If this slows down
pg_dump a lot, the extra code is worth keeping.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] regression test failure

2002-08-13 Thread Peter Eisentraut

Tatsuo Ishii writes:

 The $libdir variable is defined at the compile time and it points to
 $prefix/lib. Apparently it points to different place while doing
 regression tests. One idea is replacing $lindir with the absolute path
 to $prefix/lib. However I wonder this would break some installations,
 for example RPM.

You can replace the string '$libdir' in the conversions_create.sql file
with an absolute directory name during the standalone regression test run.
This could be done in the regression test driver, where the correct path
is available as $pkglibdir.  Other, less messy solutions don't occur to me
offhand.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Is contrib/rserv/Makefile broken?

2002-08-13 Thread Peter Eisentraut

Satoshi Nagayasu writes:

 I think $libdir should be replaced in Makefile as below.

No, it's correct as is.  Read the documentation.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [PATCHES] [HACKERS] SQL99 CONVERT() function

2002-08-13 Thread Tatsuo Ishii

  The attached patch adds CONVERSION stuff for cyrillic and
  win874/1250/1251/1256 encodings.
 
 Thanks. I'll take care of this.

Done. Documents and regression tests have been updated also. I think
now we have implemented all encoding conversions for 7.3 release.
--
Tatsuo Ishii

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] [COMMITTERS] pgsql-server/src

2002-08-13 Thread Peter Eisentraut

Tom Lane writes:

 That does not change my opinion about the -X/PGXLOG switch though ---
 having a backup safety check is not an excuse for having a fundamentally
 insecure set of startup options.

OK, so:

1. Leave -X option in initdb.  Remove all other -X options.

2. Remove all uses of PGXLOG.

3. Symlink from PGDATA to desired location.

4. Implement pg_mvxlog to move xlog if server is shut down.  (So no one
needs to know about 3.)

In the future:

Combine pg_mvxlog, pg_controldata, pg_resetxlog into pg_srvadm.

Sounds good.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Peter Eisentraut

Tom Lane writes:

  The prototype for fseek() is long int; I had assumed that off_t was not
  defined if _LARGEFILE_SOURCE was not defined.

All that _LARGEFILE_SOURCE does is make fseeko() and ftello() visible on
some systems, but on some systems they should be available by default.

 Oh, you're right.  A quick look at HPUX shows it's the same way: ftell
 returns long int, ftello returns off_t (which presumably is an alias
 for long long int).  Okay, OFF_T seems a reasonable answer.

fseek() and ftell() using long int for the offset was a mistake, therefore
fseeko() and ftello() were invented.  (This is independent of whether the
large file interface is used.)

To activate the large file interface you define _FILE_OFFSET_BITS=64,
which transparently replaces off_t and everything that uses it with a 64
bit version.  There is no need to use any of the proposed macro tricks
(because that exact macro trick is already provided by the OS).

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [GENERAL] [HACKERS] Linux Largefile Support In Postgresql RPMS

2002-08-13 Thread Peter Eisentraut

Tom Lane writes:

   * postmaster log to stderr --- does this fail if log output
 exceeds 2G?

That would be an issue of the shell, not the postmaster.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] [COMMITTERS] pgsql-server/src

2002-08-13 Thread Bruce Momjian


Sounds good to me, but I have proven very unreliable in guessing others
opinions on this issue.

---

Peter Eisentraut wrote:
 Tom Lane writes:
 
  That does not change my opinion about the -X/PGXLOG switch though ---
  having a backup safety check is not an excuse for having a fundamentally
  insecure set of startup options.
 
 OK, so:
 
 1. Leave -X option in initdb.  Remove all other -X options.
 
 2. Remove all uses of PGXLOG.
 
 3. Symlink from PGDATA to desired location.
 
 4. Implement pg_mvxlog to move xlog if server is shut down.  (So no one
 needs to know about 3.)
 
 In the future:
 
 Combine pg_mvxlog, pg_controldata, pg_resetxlog into pg_srvadm.
 
 Sounds good.
 
 -- 
 Peter Eisentraut   [EMAIL PROTECTED]
 
 
 ---(end of broadcast)---
 TIP 6: Have you searched our list archives?
 
 http://archives.postgresql.org
 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



  1   2   >