Re: [GENERAL] how to document database

2006-04-09 Thread Ottavio Campana
Kaloyan Iliev ha scritto:
 Hi,
 
 I am not familiar with doxygen, so I can't give you any advice. To me
 postgresql_autodoc -d dbname works perfectly.
 I am useing version 1.25 of postgresql_autodoc.
 
 I recevice documentation of the sotred rocedures when I have comments on 
 them. Then when  
 postgresql_autodoc generate HTML documentation the comments are there. That's 
 it. 
 I am sorry if this doesn't help you much.

so that must be a debian's bug. I'll work on it.

-- 
Non c'è più forza nella normalità, c'è solo monotonia.



signature.asc
Description: OpenPGP digital signature


[GENERAL] Create database bug in 8.1.3 ?

2006-04-09 Thread Milen Kulev


Hi Listers,
I have the following problem (OS= RHELU2 , PG version= 8.1.3) when I  try to 
Create a database :

postgres=# CREATE  DATABASE   world3 TEMPLATE=template1 ENCODING='UTF8' 
TABLESPACE=tbs1 ;
CREATE DATABASE

Then I am backup-ing the database (a small toy DB) with pg_dumpall:

 pg_dumpallalldb.bak

Lessalldb.bak:


CREATE DATABASE world3 WITH TEMPLATE = template0 OWNER = pg ENCODING = 'UTF8' 
TABLESPACE = tbs1; 


Why pg_dumpall is stating that my template db is template0 and not template1 ? 
Is there any way to check what db
(template0  or template1 ) was actually used a template when creating world2 db 
? I am having the same problem  with all
my  databases

I have compiled and installed PG 8.1.3 from  sources

Any hints are highly appreciated

Regards. Milen  



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


[GENERAL] index growth

2006-04-09 Thread Alex Mayrhofer
Hi,

i have a bunch of indices over rather frequently updated large tables. Those
indices grow in size with the updates, so i frequently re-index them.

Are there any plans to add REINDEX estimation/jobs to the autovacuum process
- or, alternatively, any options on reducing the growth rate of those
indices (except not updating the respective tables)?

thanks

Alex

http://nona.net/features/map/


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

   http://www.postgresql.org/docs/faq


Re: [GENERAL] Create database bug in 8.1.3 ?

2006-04-09 Thread William ZHANG
The backend doesnot save the name of the template database used by
CREATE DATABASE.

pg_dump, pg_dumpall have hard code like this:
appendPQExpBuffer(buf,  WITH TEMPLATE = template0);
That's why you found the template database is always `template0`.

If the backend saves the name of the template database, and dump the
database as
CREATE DATABASE foo WITH TEMPLATE 'bar';,
dump and restore should be careful to dump/restore 'bar' before 'foo'. If
'bar' is
modified after the CREATE DATABASE command, things will be more
complicated.

If you have not modified system catalogs in template1, using template0 in
dump
should cause no problem.

Regrads,
William ZHANG



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

   http://archives.postgresql.org


Re: [GENERAL] Create database bug in 8.1.3 ? - solved

2006-04-09 Thread Milen Kulev
Hi Wiliam,
Than you very much for your prompt reply.

I can not understand why pg_dump, pg_dumpall have hard-coded template0 ?
In my case I haven't modified template1 DB ( e.g. template0  equals template1 
DB), so it 
Doesn't mater for me, bit I am still wondering ... ;( . 
The documentation is saying : 
(http://www.postgresql.org/docs/8.1/static/sql-createdatabase.html)

By default, the new database will be created by cloning the standard system 
database template1. A different template can
be specified by writing TEMPLATE name. 



Anyway, I have just found that PG is applying all the additional 
features(tables, functions, types) that I have
installed on my database, this ensuring that I really  get a copy of my 
database as I have configured it. Obviously (as
you already pointed out), all this is done to avoid  db  dependencies 
creation.

Sample output of my test:
1) Creating my own template DB 
CREATE  DATABASE  mytemplate TEMPLATE=template1 ENCODING='UTF8' ;  
2)  Install Tsearchd   operators, data types, tables  and etc 
psql  -d mytemplate   tsearch2.sql
3)  Create my custom template table 
mytemplate=# create table tab_template (id int) ;
mytemplate=# insert  into tab_template  VALUES  (1 );
INSERT 0 1

4) Create DB using my custom template
CREATE  DATABASE  testdb1 TEMPLATE=mytemplate ENCODING='UTF8' TABLESPACE=tbs1 ;

5) Create tables  of sample schma
psql  -d  testdb1  world.sql


6) Create Archive of my  testdb1  DB.
pg_dump -C -Fp  -d   testdb1  tdb1.bak

7)  After checking the content of tdb1.bak I have found that each installed 
funtionality is there, although that my DB
is derived from template0  and not from mytemplate 
CREATE DATABASE testdb1 WITH TEMPLATE = template0 ENCODING = 'UTF8' TABLESPACE 
= tbs1;



-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of William ZHANG
Sent: Sunday, April 09, 2006 2:37 PM
To: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Create database bug in 8.1.3 ?


The backend doesnot save the name of the template database used by CREATE 
DATABASE.

pg_dump, pg_dumpall have hard code like this:
appendPQExpBuffer(buf,  WITH TEMPLATE = template0); That's why you found 
the template database is always
`template0`.

If the backend saves the name of the template database, and dump the database as
CREATE DATABASE foo WITH TEMPLATE 'bar';,
dump and restore should be careful to dump/restore 'bar' before 'foo'. If 'bar' 
is modified after the CREATE DATABASE
command, things will be more complicated.

If you have not modified system catalogs in template1, using template0 in dump 
should cause no problem.

Regrads,
William ZHANG



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

   http://archives.postgresql.org


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

   http://archives.postgresql.org


[GENERAL] Pg_restore -C is not creating a database ( Was Create database bug in 8.1.3 ? )

2006-04-09 Thread Milen Kulev
Hi Listers, 
My saga contunues ;( 
I can not get pg_restore working as expected (as described in the 
documentation).

My case : I have a DB, that I  have archived with

pg_dump -C -Fc  -d   testdb1  tdb1b.bak
Then I am dropping the database testdb1 ( with DROP DATABASE testdb1; ) I want 
to recover it. When I issue the following
command:
pg_restore  -C -Fc tdb1b.bak

I am getting all the SQL statements executed, but the DB testdb1 is NOT 
created, although 
I have explicitely specified it (-C option).

BUT if I create DB testdb1 manually and then issue:
pg_restore  -Fc -d  testdb1   tdb1b.bak

I am getting the result what I want/expect.

What I am doinf wrong ?
Any hints, suggestions ? 

Best Regards, Milen 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of William ZHANG
Sent: Sunday, April 09, 2006 2:37 PM
To: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Create database bug in 8.1.3 ?


The backend doesnot save the name of the template database used by CREATE 
DATABASE.

pg_dump, pg_dumpall have hard code like this:
appendPQExpBuffer(buf,  WITH TEMPLATE = template0); That's why you found 
the template database is always
`template0`.

If the backend saves the name of the template database, and dump the database as
CREATE DATABASE foo WITH TEMPLATE 'bar';,
dump and restore should be careful to dump/restore 'bar' before 'foo'. If 'bar' 
is modified after the CREATE DATABASE
command, things will be more complicated.

If you have not modified system catalogs in template1, using template0 in dump 
should cause no problem.

Regrads,
William ZHANG



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

   http://archives.postgresql.org


---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [GENERAL] Create database bug in 8.1.3 ? - solved

2006-04-09 Thread Douglas McNaught
Milen Kulev [EMAIL PROTECTED] writes:

 Hi Wiliam,
 Than you very much for your prompt reply.

 I can not understand why pg_dump, pg_dumpall have hard-coded template0 ?

The reason is this:  any extra stuff that your database inherited from
template1 (or whatever template you used) will be dumped out as part
of your database.  There is no way to for pg_dump to tell what parts
came from template1 and what parts were added afterward, so it bases
its dump on template0, which is a minimal database.  If you based your
restored database on template1, you would get collisions as the
restore tried to add objects that were already there from template1.

Make sense?

-Doug

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


Re: [GENERAL] Create database bug in 8.1.3 ? - solved

2006-04-09 Thread Milen Kulev
Hi Dough,
Thank you for your answer.
Now the reasons for using template0 DB are pretty clear (there a mini test-case 
Of this in the mail you have just answered;)).

Thanks again.

Regards. Milen  

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Douglas McNaught
Sent: Sunday, April 09, 2006 4:05 PM
To: Milen Kulev
Cc: 'William ZHANG'; pgsql-general@postgresql.org
Subject: Re: [GENERAL] Create database bug in 8.1.3 ? - solved


Milen Kulev [EMAIL PROTECTED] writes:

 Hi Wiliam,
 Than you very much for your prompt reply.

 I can not understand why pg_dump, pg_dumpall have hard-coded 
 template0 ?

The reason is this:  any extra stuff that your database inherited from 
template1 (or whatever template you used) will be
dumped out as part of your database.  There is no way to for pg_dump to tell 
what parts came from template1 and what
parts were added afterward, so it bases its dump on template0, which is a 
minimal database.  If you based your restored
database on template1, you would get collisions as the restore tried to add 
objects that were already there from
template1.

Make sense?

-Doug

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


---(end of broadcast)---
TIP 1: 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] how to document database

2006-04-09 Thread Merlin Moncure
On 4/7/06, Ottavio Campana [EMAIL PROTECTED] wrote:
 I need to document the  database I develop so that other people can
 easily understand how it works.

Another tool to do this is the EMS postgresql manager.  It is not a
free tool but it produces absolutely gorgeous html documentation.  The
windows version also has a pl/pgsql debugger, which is kind of unique.

Merlin

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


Re: [GENERAL] Create database bug in 8.1.3 ? - solved

2006-04-09 Thread Tom Lane
Douglas McNaught [EMAIL PROTECTED] writes:
 Milen Kulev [EMAIL PROTECTED] writes:
 I can not understand why pg_dump, pg_dumpall have hard-coded template0 ?

 The reason is this:  any extra stuff that your database inherited from
 template1 (or whatever template you used) will be dumped out as part
 of your database.  There is no way to for pg_dump to tell what parts
 came from template1 and what parts were added afterward, so it bases
 its dump on template0, which is a minimal database.  If you based your
 restored database on template1, you would get collisions as the
 restore tried to add objects that were already there from template1.

Not only that.  If you changed template1 after creating your database
from it, then a dump and restore of your database would be wrong if it
used template1: it would produce a database that did not match what was
dumped, but rather included those subsequent changes in template1.
(Which might in fact be what you'd wish for, but it's not pg_dump's
charter.)  template0 is not only minimal but stable, so basing the
restore relative to it is more likely to produce a matching database
than using template1.

regards, tom lane

---(end of broadcast)---
TIP 1: 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] Load testing across 2 machines

2006-04-09 Thread Simon Riggs
On Sat, 2006-04-08 at 15:10 +0100, Gavin Hamill wrote:

 SELECTS go to *both* live and test, but only the answers from live are
 sent back to clients - the answers from test are discarded... 

Put log_min_duration_statement = 0 so all SELECTs go to the log.

Sniff the live log for SELECT statements (plus their live durations),
then route those same statements to the dev box and get a timing from
there also. That way you'll be able to do this without any C coding,
plus you'll have both the live and test elapsed times as a comparison.

Best Regards, Simon Riggs


---(end of broadcast)---
TIP 1: 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] Pg_restore -C is not creating a database ( Was Create database bug in 8.1.3 ? )

2006-04-09 Thread Tom Lane
Milen Kulev [EMAIL PROTECTED] writes:
 My case : I have a DB, that I  have archived with
 pg_dump -C -Fc  -d   testdb1  tdb1b.bak
 Then I am dropping the database testdb1 ( with DROP DATABASE testdb1; ) I 
 want to recover it. When I issue the following
 command:
 pg_restore  -C -Fc tdb1b.bak
 I am getting all the SQL statements executed, but the DB testdb1 is NOT 
 created, although 
 I have explicitely specified it (-C option).

Works AFAICS --- I see this in pg_restore's output:

CREATE DATABASE testdb1 WITH TEMPLATE = template0 ENCODING = 'UTF8';

ALTER DATABASE testdb1 OWNER TO postgres;

\connect testdb1

Are you not getting those commands?  Maybe they are failing for some
reason?

regards, tom lane

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


Re: [GENERAL] index growth

2006-04-09 Thread Tom Lane
Alex Mayrhofer [EMAIL PROTECTED] writes:
 i have a bunch of indices over rather frequently updated large tables. Those
 indices grow in size with the updates, so i frequently re-index them.

That usually shouldn't be necessary since PG 7.4 or so.  Do you have
some strange pattern of index key usage that is triggering index bloat,
or is this just a habit leftover from pre-7.4?

regards, tom lane

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

   http://archives.postgresql.org


Re: [GENERAL] Load testing across 2 machines

2006-04-09 Thread Gavin Hamill
On Sun, 09 Apr 2006 17:00:14 +0100
Simon Riggs [EMAIL PROTECTED] wrote:

 Sniff the live log for SELECT statements (plus their live durations),

Wow, how wonderfully low-tech - hence it's right up my street :) Yay,
some tail + psql fun coming up!

Cheers,
Gavin.

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] Debian package for freeradius_postgresql module

2006-04-09 Thread Tyler MacDonald
Stephen Frost [EMAIL PROTECTED] wrote:
 GPL-licensed software depending on a BSD-licensed package *isn't* a
 problem.  If we didn't link Postgres w/ OpenSSL this wouldn't be any
 issue at all.  If the freeradius authors explicitly say they don't have
 a problem linking against a BSD-with-advertising-clause license
 (or even explicitly exempt OpenSSL) then it's all fine.  Saying that
 because they wrote freeradius to support Postgres that they implicitly
 approve of the OpenSSL license is a more than a bit of a stretch.

Well, Alan DeKok, the creator of freeradius, has said that he has no
problem altering the license, but other contributors to the project have
raised some concerns. I guess we'll just wait and see how it all pans out.
One interesting point came up on the freeradius-users list; we should also
be discussing this with the OpenSSL people to see if they're willing to
remove the advertising clause from their license. I've subscribed to the
OpenSSL list to ask about this but havent posted anything yet.

Cheers,
Tyler


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


Re: [GENERAL] Strange syntax for create/drop index

2006-04-09 Thread Haris Peco
Michael,

  You have name A for 'create index' and name B for 'drop index'
I can think that it isn't same index 

This is illogically for me

make object with name A and drop it with name B

 If the schema was allowed, some people would infer that they  
 can place the index in a schema other than the schema the table  
 resides in, and they would get bitten when they try to do so.

you can just return error (and you will enable indexes cross schema 
later, maybe and you will not change syntax)

Thanks

On Sunday 09 April 2006 04:48 am, Michael Glaesemann wrote:
 
 On Apr 9, 2006, at 13:33 , Haris Peco wrote:
 
  create index test.test_name on test.test(name)
 
schema prefix in 'create index'
 
  I know that it isn't necessary, because postgreSQL know that index  
  is (must be)
   in table's schema, but this is natural for sql writers
 
 Allowing a schema-qualified name for CREATE INDEX implies that there  
 is a choice of schema you could choose. By disallowing the schema, it  
 makes developers aware of the limitation of where the index can be  
 created. If the schema was allowed, some people would infer that they  
 can place the index in a schema other than the schema the table  
 resides in, and they would get bitten when they try to do so.
 
 Michael Glaesemann
 grzm myrealbox com
 
 
 
 
 ---(end of broadcast)---
 TIP 1: 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
 

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] index growth

2006-04-09 Thread Alex Mayrhofer
Tom Lane wrote:
 Alex Mayrhofer [EMAIL PROTECTED] writes:
 i have a bunch of indices over rather frequently updated large tables. Those
 indices grow in size with the updates, so i frequently re-index them.
 
 That usually shouldn't be necessary since PG 7.4 or so.  Do you have
 some strange pattern of index key usage that is triggering index bloat,
 or is this just a habit leftover from pre-7.4?

Hmm, my index definition (running 8.1.0) looks as follows:

 Index public.l_renderjobs_uri_idx
   Column|  Type
-+
 request_uri | character varying(200)
btree, for table public.l_renderjobs

a recent REINDEX reduced that index from about 3 pages to 18000.

The table contains about 1.5 millions URLs, and i load http usage updates on
the table every day, which modifies around 4 of those records daily.

So, is this something where bloating should be expected, or am i doing
something wrong?

thanks,

Alex

---(end of broadcast)---
TIP 1: 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] Load testing across 2 machines

2006-04-09 Thread Joshua D. Drake

Gavin Hamill wrote:

On Sun, 09 Apr 2006 17:00:14 +0100
Simon Riggs [EMAIL PROTECTED] wrote:


Sniff the live log for SELECT statements (plus their live durations),


Wow, how wonderfully low-tech - hence it's right up my street :) Yay,
some tail + psql fun coming up!


You can even tell it to only show you queries that taken longer the (n) 
where (n) is milliseconds.


Joshua D. Drake



Cheers,
Gavin.

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings




--

=== The PostgreSQL Company: Command Prompt, Inc. ===
  Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
  Providing the most comprehensive  PostgreSQL solutions since 1997
 http://www.commandprompt.com/



---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
  choose an index scan if your joining column's datatypes do not
  match


Re: [GENERAL] Debian package for freeradius_postgresql module

2006-04-09 Thread Martijn van Oosterhout
On Sun, Apr 09, 2006 at 10:26:35AM -0700, Tyler MacDonald wrote:
   Well, Alan DeKok, the creator of freeradius, has said that he has no
 problem altering the license, but other contributors to the project have
 raised some concerns. I guess we'll just wait and see how it all pans out.
 One interesting point came up on the freeradius-users list; we should also
 be discussing this with the OpenSSL people to see if they're willing to
 remove the advertising clause from their license. I've subscribed to the
 OpenSSL list to ask about this but havent posted anything yet.

To save you some time: this has been rehashed on the OpenSSL lists and
the conclusion is basically:

1. It's not a problem, it's the GPLs problem
2. It doesn't appear they can change the licence for some reason

We are not the first people to run into this, nor will we be the last.
The only long term solution is to use GnuTLS instead which doesn't have
these issues (it's straight LGPL). This is something postgresql can and
would solve the problem entirely.

These links may be helpful.

[1] http://marc.theaimsgroup.com/?l=openssl-usersm=9741776428w=2
[2] http://www.openssl.org/support/faq.html#LEGAL2
[3] http://www.ethereal.com/lists/ethereal-dev/200108/msg00120.html

Have a nice day,
-- 
Martijn van Oosterhout   kleptog@svana.org   http://svana.org/kleptog/
 Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
 tool for doing 5% of the work and then sitting around waiting for someone
 else to do the other 95% so you can sue them.


signature.asc
Description: Digital signature


Re: [GENERAL] Debian package for freeradius_postgresql module

2006-04-09 Thread Tyler MacDonald
Martijn van Oosterhout kleptog@svana.org wrote:
 To save you some time: this has been rehashed on the OpenSSL lists and
 the conclusion is basically:
 
 1. It's not a problem, it's the GPLs problem
 2. It doesn't appear they can change the licence for some reason
 
 We are not the first people to run into this, nor will we be the last.
 The only long term solution is to use GnuTLS instead which doesn't have
 these issues (it's straight LGPL). This is something postgresql can and
 would solve the problem entirely.

I'd call that the short term solution, with the long term solution
being to finally convince the right people to remove that clause from
OpenSSL's license.

 [1] http://marc.theaimsgroup.com/?l=openssl-usersm=9741776428w=2

That one definately helped, thanks. :-) Following that thread, I got
here:

http://marc.theaimsgroup.com/?l=openssl-usersm=97419073107910w=2

Which seems to indicate that the people that need to be pestered are
Eric Young and Tim Hudson.

I've got to wonder how legal the SSLeay clause is though;

 * 3. All advertising materials mentioning features or use of this software
 *must display the following acknowledgement:
 *This product includes cryptographic software written by
 * Eric Young ([EMAIL PROTECTED])
 *The word 'cryptographic' can be left out if the rouines from the library
 *being used are not cryptographic related :-).

rouines? ;-)

Cheers,
Tyler

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


[GENERAL] Is difference between PostgreSQL and mySQL licences for client application minor only

2006-04-09 Thread Andrus
I created closed source Postgres/mySQL client application.

When using PostgreSQL as backend I can include Postgres server binary code 
in my application distro.

When using mySQL my application setup can load mySQL server installation 
package from mysql website and execute it automatically.

This minor difference is the only difference between Postgres/mySQL licenses 
in client application, right ?

Andrus. 



---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [GENERAL] Pg_restore -C is not creating a database ( Was Create database bug in 8.1.3 ? )

2006-04-09 Thread Milen Kulev
Hello Tom,
I am  getting the commands you mention:
 pg_restore  -C -Fc tdb1b.bak  1 OUT
 Less OUT:

CREATE DATABASE testdb1 WITH TEMPLATE = template0 ENCODING = 'UTF8' TABLESPACE 
= tbs1;
ALTER DATABASE testdb1 OWNER TO pg;
\connect testdb1
...

, but testdb1  is NOT created ! That is actually my problem.
According to the documentation, the DB should be created (-C  option).
If I pre-create the database and then issue pg_restore  -C -Fc tdb1b.bak all 
objects 
get created as expected.

I am seeing some DROP DATABASE commend in the tdb1b.bak file (binary format)

[EMAIL PROTECTED] /tmp]$ strings  tdb1b.bak | less
PGDMP
testdb1
8.1.3
8.1.3
ENCODING
ENCODING
SET client_encoding = 'UTF8';
false
1262
41411
testdb1
DATABASE
CREATE DATABASE testdb1 WITH TEMPLATE = template0 ENCODING = 'UTF8' TABLESPACE 
= tbs1;
DROP DATABASE testdb1;  --!!!
false
2615
2200
public
SCHEMA
CREATE SCHEMA public;
DROP SCHEMA public;



Regards. Milen 


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tom Lane
Sent: Sunday, April 09, 2006 6:01 PM
To: Milen Kulev
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Pg_restore -C is not creating a database ( Was Create 
database bug in 8.1.3 ? ) 


Milen Kulev [EMAIL PROTECTED] writes:
 My case : I have a DB, that I  have archived with
 pg_dump -C -Fc  -d   testdb1  tdb1b.bak
 Then I am dropping the database testdb1 ( with DROP DATABASE testdb1; 
 ) I want to recover it. When I issue the following
 command:
 pg_restore  -C -Fc tdb1b.bak
 I am getting all the SQL statements executed, but the DB testdb1 is NOT 
 created, although 
 I have explicitely specified it (-C option).

Works AFAICS --- I see this in pg_restore's output:

CREATE DATABASE testdb1 WITH TEMPLATE = template0 ENCODING = 'UTF8';

ALTER DATABASE testdb1 OWNER TO postgres;

\connect testdb1

Are you not getting those commands?  Maybe they are failing for some reason?

regards, tom lane

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


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

   http://archives.postgresql.org


Re: [GENERAL] Pg_restore -C is not creating a database ( Was Create database bug in 8.1.3 ? )

2006-04-09 Thread Tom Lane
Milen Kulev [EMAIL PROTECTED] writes:
 I am  getting the commands you mention:
  pg_restore  -C -Fc tdb1b.bak  1 OUT
  Less OUT:

 CREATE DATABASE testdb1 WITH TEMPLATE = template0 ENCODING = 'UTF8' 
 TABLESPACE = tbs1;
 ALTER DATABASE testdb1 OWNER TO pg;
 \connect testdb1
 ...

 , but testdb1  is NOT created !

So why not?  Try reading the error messages that are (probably) reported
when you run the script.  Maybe you're trying to run the script as a
user that hasn't got CREATEDB privilege?

regards, tom lane

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] Load testing across 2 machines

2006-04-09 Thread Gavin Hamill
On Sun, 09 Apr 2006 17:00:14 +0100
Simon Riggs [EMAIL PROTECTED] wrote:

 On Sat, 2006-04-08 at 15:10 +0100, Gavin Hamill wrote:
 
  SELECTS go to *both* live and test, but only the answers from live
  are sent back to clients - the answers from test are discarded... 
 
 Put log_min_duration_statement = 0 so all SELECTs go to the log.
 
 Sniff the live log for SELECT statements (plus their live durations),
 then route those same statements to the dev box and get a timing from
 there also. That way you'll be able to do this without any C coding,
 plus you'll have both the live and test elapsed times as a comparison.

Ah, having eaten and had my brain finally switch on, I've realised that
there's an unfortunate flaw in the plan; only a single process will be
executing the SELECT-log which pretty much defeats the purpose of the
experiment to simulate identical load patterns on both machines.

I might be wrong, but if I just end up grepping for 'SELECT' then
feeding the results into psql, then only a single connection will be
made to the test server, and all queries will be processed serially on
a single CPU, no?

Cheers,
Gavin.

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] index growth

2006-04-09 Thread Tom Lane
Alex Mayrhofer [EMAIL PROTECTED] writes:
 a recent REINDEX reduced that index from about 3 pages to 18000.

That's not bloat, that's normal overhead.  The traditional rule of thumb
for a btree is that at steady state, pages will be about 2/3rds full.
REINDEX packs pages to 90% IIRC, but you can't expect that that density
will be maintained in the face of heavy update activity.  It looks to me
like your index is not so far off the rule-of-thumb load factor, and you
should just not worry, be happy.  If you were finding that your indexes
grow to ten times the minimum size, *that* would be worth worrying
about.

regards, tom lane

---(end of broadcast)---
TIP 1: 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


[GENERAL] SSL for an AIX 5.x client - possible?

2006-04-09 Thread paul rivers










I am having difficulty getting SSL-enabled Postgres client
libs working on AIX with either vac or gcc using OpenSSL. SSL from other UNIX
flavors has not been a problem. 



Versions in question: 

AIX 5.1 on power4

OpenSSL 0.9.8

Postgres 8.1.3



I am not that familiar (yet) with the configure and build
part of Postgres, but I suspect this problem really comes down to how openssl
gives up trying to build a shared lib version on AIX, and postgres must (?) dynamically
link to openssl. (Incidentally, mysql has the same problem on AIX it would
seem, again said with a question mark.)



Any advice, guidance or links on how I might get SSL working
from AIX clients would be greatly appreciated. Googling around has not yielded
anything thats put me on the right track.



Thanks in advance,
Paul










Re: [GENERAL] Is difference between PostgreSQL and mySQL licences for client application minor only

2006-04-09 Thread Tom Lane
Andrus [EMAIL PROTECTED] writes:
 I created closed source Postgres/mySQL client application.
 When using PostgreSQL as backend I can include Postgres server binary code 
 in my application distro.
 When using mySQL my application setup can load mySQL server installation 
 package from mysql website and execute it automatically.
 This minor difference is the only difference between Postgres/mySQL licenses 
 in client application, right ?

Since mysql 4.0, their client libraries are under GPL not LGPL, which
means you're violating their license if your app is linked to the client
libraries.  Playing games with not distributing the server doesn't get
you out of that.  What you're doing is *exactly* what they want you to
buy a license for, and if they felt like coming after you I think they
could enforce it in court.

regards, tom lane

---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [GENERAL] Is difference between PostgreSQL and mySQL licences for client application minor only

2006-04-09 Thread Christopher Browne
In the last exciting episode, Andrus [EMAIL PROTECTED] wrote:
 I created closed source Postgres/mySQL client application.

 When using PostgreSQL as backend I can include Postgres server
 binary code in my application distro.

 When using mySQL my application setup can load mySQL server
 installation package from mysql website and execute it
 automatically.

 This minor difference is the only difference between Postgres/mySQL
 licenses in client application, right ?

That doesn't sound consistent with the arrangements that MySQL AB
expect for commercial users of their products.

They indicate assortedly that:

- If you are developing and distributing open source applications
  under the GPL, or some OSI-approved license, you are free to use
  MySQL(tm) for free.

- If you are *not* licensing and distributing your source code under
  the GPL, then MySQL AB expects you to use their OEM Commercial 
  License, which involves negotiating a contract with their 
  sales team.

Your scenario seems to clearly fall into the scenario where MySQL AB
expects you to pay them license fees.

If you don't include MySQL(tm) with your product, then that presumably
imposes the obligation to pay MySQL AB a license fee on the purchasor
that does the download.  That may leave your hands clean, but if you
do not warn your customers of their obligation, and legal problems
arise, they may not be too happy with you...
-- 
(format nil [EMAIL PROTECTED] cbbrowne cbbrowne.com)
http://linuxdatabases.info/info/lsf.html
 /\
 \ / ASCII RIBBON CAMPAIGN
  XAGAINST HTML MAIL
 / \

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


Re: [GENERAL] Is difference between PostgreSQL and mySQL licences

2006-04-09 Thread David Wall



That doesn't sound consistent with the arrangements that MySQL AB
expect for commercial users of their products.

They indicate assortedly that:

- If you are developing and distributing open source applications
  under the GPL, or some OSI-approved license, you are free to use
  MySQL(tm) for free.

- If you are *not* licensing and distributing your source code under
  the GPL, then MySQL AB expects you to use their OEM Commercial 
  License, which involves negotiating a contract with their 
  sales team.


Your scenario seems to clearly fall into the scenario where MySQL AB
expects you to pay them license fees.

If you don't include MySQL(tm) with your product, then that presumably
imposes the obligation to pay MySQL AB a license fee on the purchasor
that does the download.  That may leave your hands clean, but if you
do not warn your customers of their obligation, and legal problems
arise, they may not be too happy with you...
  


The real key is that MySQL has left the world of traditional open source 
and has instead taken on a commercial business interest in their 
product.  This is disturbing considering that many people have 
contributed code to their projects, including database drivers and other 
client code that may be part of your product even if they have to 
download the db engine separately.  Now, those same people who 
contributed may want to use MySQL, but unless they are building their 
own GPL system, their use of MySQL with their freely contributed code 
inside is no longer available without paying a fee.


My guess is that many (most?) MySQL implementations today violate the 
provisions of their license.  This is because many applications are 
written for in-house consumption, simple web sites, etc. and those 
applications are not GPL.  It's mostly commercial apps that end up 
getting the license because businesses fear lawsuits more than 
individuals do (something like music piracy in which end users copying 
a CD to their disk drives are much less likely to be sued than if you 
produce products that incorporate the music inside).


PostgreSQL is the way to go if you want a truly open source solution for 
your needs, whether commercial, private or open source.


David

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

  http://www.postgresql.org/docs/faq


Re: [GENERAL] Pg_restore -C is not creating a database ( Was Create database bug in 8.1.3 ? )

2006-04-09 Thread Milen Kulev
Hi Tom,
There are no error messages repored. Neiter in the logfile of the server, nor 
on 
The tty , which I am issuing the commands from.
I am not switching the OS user (all commands are entered interactively, no cron 
jobs, shell scripts etc).

Regeards, Milen 


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tom Lane
Sent: Sunday, April 09, 2006 8:24 PM
To: Milen Kulev
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Pg_restore -C is not creating a database ( Was Create 
database bug in 8.1.3 ? ) 


Milen Kulev [EMAIL PROTECTED] writes:
 I am  getting the commands you mention:
  pg_restore  -C -Fc tdb1b.bak  1 OUT
  Less OUT:

 CREATE DATABASE testdb1 WITH TEMPLATE = template0 ENCODING = 'UTF8' 
 TABLESPACE = tbs1; ALTER DATABASE testdb1 OWNER TO pg; \connect 
 testdb1 ...

 , but testdb1  is NOT created !

So why not?  Try reading the error messages that are (probably) reported when 
you run the script.  Maybe you're trying
to run the script as a user that hasn't got CREATEDB privilege?

regards, tom lane

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


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


Re: [GENERAL] Pg_restore -C is not creating a database ( Was Create database bug in 8.1.3 ? )

2006-04-09 Thread Tom Lane
Milen Kulev [EMAIL PROTECTED] writes:
 I am  getting the commands you mention:
 pg_restore  -C -Fc tdb1b.bak  1 OUT
 Less OUT:

 CREATE DATABASE testdb1 WITH TEMPLATE = template0 ENCODING = 'UTF8' 
 TABLESPACE = tbs1; ALTER DATABASE testdb1 OWNER TO pg; \connect 
 testdb1 ...

 , but testdb1  is NOT created !

Um ... you do realize that in this mode pg_restore just prints the SQL
commands to its stdout?  You're supposed to pipe them into psql if you
want anything to really happen.  Or you can add a -d switch (usually
-d template1 when using -C) if you want pg_restore to connect to a
database server and issue the commands directly.

regards, tom lane

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

   http://www.postgresql.org/docs/faq


[GENERAL] Date Time with time zone

2006-04-09 Thread Wei Wei
I try to understand how the DT information is stored/presented in PG. In the 
application, the data is reported as

Sun Apr 09 12:40:52 PDT 2006 - Pacific Standard Time

But, in the DB, it is stated as

2006-04-09 14:40:53.093-07

It doesn't seen right to me. Both are on the same box and the date column is 
with time zone.

Any thought?



Thanks.



-- 
___

Search for businesses by name, location, or phone number.  -Lycos Yellow Pages

http://r.lycos.com/r/yp_emailfooter/http://yellowpages.lycos.com/default.asp?SRC=lycos10


---(end of broadcast)---
TIP 1: 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] Pg_restore -C is not creating a database ( Was Create database bug in 8.1.3 ? )

2006-04-09 Thread Milen Kulev
Great hint Tom!

 pg_restore  -C -Fc -d template1  tdb1b.bak

Did the job.  Actually if I specify any other database I am getting the same 
result ;)
I wanted to use custom (-Fc) option to backup BLOB files.
Why should I use the output of pg_restore to restore my BLOBs (if it is 
possible at all)?
If it were the case I simply  would have used the plain text backup  (pg_dump 
-Fp  and then psql)...

Regards. Milen 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tom Lane
Sent: Sunday, April 09, 2006 9:45 PM
To: Milen Kulev
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Pg_restore -C is not creating a database ( Was Create 
database bug in 8.1.3 ? ) 


Milen Kulev [EMAIL PROTECTED] writes:
 I am  getting the commands you mention:
 pg_restore  -C -Fc tdb1b.bak  1 OUT
 Less OUT:

 CREATE DATABASE testdb1 WITH TEMPLATE = template0 ENCODING = 'UTF8'
 TABLESPACE = tbs1; ALTER DATABASE testdb1 OWNER TO pg; \connect 
 testdb1 ...

 , but testdb1  is NOT created !

Um ... you do realize that in this mode pg_restore just prints the SQL commands 
to its stdout?  You're supposed to pipe
them into psql if you want anything to really happen.  Or you can add a -d 
switch (usually -d template1 when using -C)
if you want pg_restore to connect to a database server and issue the commands 
directly.

regards, tom lane

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

   http://www.postgresql.org/docs/faq


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

   http://archives.postgresql.org


[GENERAL] Expression matching related question

2006-04-09 Thread Peter Hoskin

Hi,

I wish to do a query such as:
SELECT * FROM table WHERE column='something' AND column2='something 
else' AND (network='0' OR (left=0 AND network0));


However, when I execute this in phppgadmin I'm told there is an error 
around the = character in left=0. Can't seem to figure the syntax.


Help would be appreciated.

Regards,
Peter Hoskin

---(end of broadcast)---
TIP 1: 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] Date Time with time zone

2006-04-09 Thread Martijn van Oosterhout
On Sun, Apr 09, 2006 at 12:07:50PM -0800, Wei Wei wrote:
 I try to understand how the DT information is stored/presented in PG. In the 
 application, the data is reported as
 
 Sun Apr 09 12:40:52 PDT 2006 - Pacific Standard Time
 
 But, in the DB, it is stated as
 
 2006-04-09 14:40:53.093-07
 
 It doesn't seen right to me. Both are on the same box and the date column is 
 with time zone.

Read the docs for the exact details but the gist of it is that
PostgreSQL always displays dates to you in your own timezone (or
whatever is configured with set timezone anyway).

timestamp with timezone represents an instant in time, which may appear
as different actual values depending on which timezone you're talking
about.

timestamp without timezone is a timestamp that appears the same to
everyone, all the time. The uses for this are not entirely clear, given
you can't represent the overlaps or gaps created by daylight savings
shifts. However, sometimes this is what you want.

Hope this helps,
-- 
Martijn van Oosterhout   kleptog@svana.org   http://svana.org/kleptog/
 Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
 tool for doing 5% of the work and then sitting around waiting for someone
 else to do the other 95% so you can sue them.


signature.asc
Description: Digital signature


Re: [GENERAL] Expression matching related question

2006-04-09 Thread Peter Hoskin

I should of mentioned, left is a bigint and network is an integer

Peter Hoskin wrote:

Hi,

I wish to do a query such as:
SELECT * FROM table WHERE column='something' AND column2='something 
else' AND (network='0' OR (left=0 AND network0));


However, when I execute this in phppgadmin I'm told there is an error 
around the = character in left=0. Can't seem to figure the syntax.


Help would be appreciated.

Regards,
Peter Hoskin

---(end of broadcast)---
TIP 1: 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



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

  http://www.postgresql.org/docs/faq


Re: [GENERAL] Expression matching related question

2006-04-09 Thread Michael Fuhr
On Mon, Apr 10, 2006 at 06:23:01AM +1000, Peter Hoskin wrote:
 I wish to do a query such as:
 SELECT * FROM table WHERE column='something' AND column2='something 
 else' AND (network='0' OR (left=0 AND network0));
 
 However, when I execute this in phppgadmin I'm told there is an error 
 around the = character in left=0. Can't seem to figure the syntax.

If you're using reserved words like table, column, and left as
identifiers then you'll need to double-quote them.  Better yet,
avoid using reserved words as identifiers.

-- 
Michael Fuhr

---(end of broadcast)---
TIP 1: 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


[GENERAL] advice on schema for multilingual text

2006-04-09 Thread Daniel McBrearty
HiI have a website that has multilingual text stored in the database. Currently I just have a flat table (lets called it translations), one row per text item, one column per language. This works OK, for now, but I am looking at a redesign. Mostly I want to keep information about the languages in teh db as well, so that look like an extra table, one row per lang.
The problem that now arises is that there is an expected correlation between the languages and translations tables - there should be a row in languages for each column of translations. AFAIK (could well be wrong, I am no expert in db theory) there is no real way to express in the ddl. Not ideal.
An alternative layout would now be to lose the translations table, and have two tables in place; one called base_text containing the text to be translated, and another called, say, tx_text which contains the translations. Each row of tx_text references both base_text and also languages.
This looks like a nice layout, as there is an abstract rep of the languages, and we lose the translations table which can get very wide. It's nice that the schema doesn't actually change to add a new language.
BUT there are certain invariants that need to be enforced. The main one is this:There must only be one row in site_text for any given language referencing a given row of base_text. 
How can I enforce this? Also have to bear in mind that there COULD easily be two translators working on the same language. It is imperative that they are not able to simultaneously save a translation of the same base text.
I would also like to have a column in languages, type boolean, called is_base - this says what the base language is. Here, only ONE row can have a true value. (Obviously it has default value of false and is not null).
Another invariant now comes in - the language referenced by every row of site_text MUST have is_base set to FALSE.If anyone can tell me how best to express to handle this stuff in postgresql, I'd be grateful. Also general comments on whether this is a good schema or not are welcome.
regards, and thanks in advanceDaniel-- Daniel McBreartyemail : danielmcbrearty at gmail.comwww.engoi.com
 : the multi - language vocab trainerBTW : 0873928131


Re: [GENERAL] Expression matching related question

2006-04-09 Thread Tom Lane
Peter Hoskin [EMAIL PROTECTED] writes:
 I wish to do a query such as:
 SELECT * FROM table WHERE column='something' AND column2='something 
 else' AND (network='0' OR (left=0 AND network0));

 However, when I execute this in phppgadmin I'm told there is an error 
 around the = character in left=0. Can't seem to figure the syntax.

LEFT is a reserved word, isn't it?  If you're going to insist on naming
a column left, you'll have to double-quote the name every time.

regards, tom lane

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] Debian package for freeradius_postgresql module

2006-04-09 Thread Chris Travers

Tyler MacDonald wrote:


Martijn van Oosterhout kleptog@svana.org wrote:
 

   



I'd call that the short term solution, with the long term solution
being to finally convince the right people to remove that clause from
OpenSSL's license.

 

As I have said before, I think it is Debian's problem at least from the 
perspective of an American (I don't know if other countries might have 
different views of derivation).


What about getting those who wrote the FreeRadius module that support 
PostgreSQL to add the exception?  Would that be sufficient?  Or are we 
about to sue nVidia over their failure to release the code for their 
drivers?



Best Wishes,
Chris Travers
Metatron Technology Consulting

begin:vcard
fn:Chris Travers
n:Travers;Chris
email;internet:[EMAIL PROTECTED]
tel;work:509-888-0220
tel;cell:509-630-7794
x-mozilla-html:FALSE
version:2.1
end:vcard


---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


[GENERAL] pl/perl error

2006-04-09 Thread Frank
I have a perl script running as a daemon.  It's using DBD::Pg (1.43) to
connect to my Postgres server (8.0.7) running on the same box and talking
over a socket.  When I start the server, it runs fine for about a day, and
then at some point I start getting this error repeatedly:

DBD::Pg::db do failed: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.

There are only two calls to DBI-do in my script which amount to:

update foo set ipaddr = null where ipaddr = '$ip' and mac != '$mac'

and

update foo set ipaddr = '$ip' where mac = '$mac'

The first statement is run fairly often and I believe it's the one
resulting in the error.  Usually when it is run, it doesn't actually modify
the database, i.e. mac will == $mac.

As soon as I restart my script, it runs fine again for about a day and then
it blows up in the same fashion.

My table is set up like:

CREATE TABLE foo (
macmacaddr UNIQUE,
ipaddr inetUNIQUE
);

There are two triggers on this table:

create trigger new_mac
 AFTER INSERT OR UPDATE ON foo
 FOR EACH ROW EXECUTE PROCEDURE new_foo_fx();

create trigger remove_mac
 BEFORE DELETE ON macs
 FOR EACH ROW EXECUTE PROCEDURE remove_foo_fx();

Neither of these procedures modify what the statement does to the database.
They make some external changes and then return;.  The only hit I see in
Google for this error message refers to the trigger documentation which
talks about the return value of triggers.  However, section 32.1 (Overview
of Trigger Behavior) and section 37.6 (PL/Perl Triggers) seem to disagree.
I went with the PL/Perl example assuming that it does the Right Thing
behind the scenes.

At first I thought this was my script losing connection to the database, so
I started using DBI-connect_cached but that didn't change anything.
Neither of my calls to DBI-do() seem to throw an error, i.e.

$dbh-do($statement) or  { warn $dbh-errstr }

doesn't output anything.

I just increased my postgres debug to -d 2 to see if that provides any
useful information.  Does anyone else have any debugging suggestions or
know what might be causing this problem?

Thanks,
Frank

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


[GENERAL] Postgresql with Access 97

2006-04-09 Thread zagman

Hi all,

I'm trying to migrate to a postgresql server backend with an existing
Access 97 application. However Access 97 crashes all the time if I
update any records  The error I see says something about SQL_ASCI
encoding when I look at the error report that Access generates to send
to Microsoft.
What encoding should I use? I'm using postgresql 8.0.7 with pgsqlodbc
8.00.01.03.

Thanks,

Dave


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

   http://archives.postgresql.org


Re: [GENERAL] Debian package for freeradius_postgresql module

2006-04-09 Thread Tyler MacDonald
Chris Travers [EMAIL PROTECTED] wrote:
  I'd call that the short term solution, with the long term solution
 being to finally convince the right people to remove that clause from
 OpenSSL's license.

 As I have said before, I think it is Debian's problem at least from the 
 perspective of an American (I don't know if other countries might have 
 different views of derivation).
 
 What about getting those who wrote the FreeRadius module that support 
 PostgreSQL to add the exception?  Would that be sufficient?  Or are we 
 about to sue nVidia over their failure to release the code for their 
 drivers?

The creator of FreeRadius has said he has no problem adding an
exemption.. at lease one freeradius developer questions the action. I'm
hoping that this exemption gets put into freeradius, but what would be ideal
is if everybody in GPL land could link to OpenSSL without adding exemptions.
I've sent this mail to the OpenSSL list in the hope that it will help:

http://marc.theaimsgroup.com/?l=openssl-usersm=114460613316150w=2

Cheers,
Tyler



---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


Re: [GENERAL] pl/perl error

2006-04-09 Thread Douglas McNaught
Frank [EMAIL PROTECTED] writes:

 I have a perl script running as a daemon.  It's using DBD::Pg (1.43) to
 connect to my Postgres server (8.0.7) running on the same box and talking
 over a socket.  When I start the server, it runs fine for about a day, and
 then at some point I start getting this error repeatedly:

 DBD::Pg::db do failed: server closed the connection unexpectedly
 This probably means the server terminated abnormally
 before or while processing the request.

There should be something in the server logs that corresponds to
this--what do they say?

-Doug

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] pl/perl error

2006-04-09 Thread Tom Lane
Frank [EMAIL PROTECTED] writes:
 I have a perl script running as a daemon.  It's using DBD::Pg (1.43) to
 connect to my Postgres server (8.0.7) running on the same box and talking
 over a socket.  When I start the server, it runs fine for about a day, and
 then at some point I start getting this error repeatedly:

 DBD::Pg::db do failed: server closed the connection unexpectedly
 This probably means the server terminated abnormally
 before or while processing the request.

Do you see any complaint in the postmaster log when this happens?  If so
what?

I'd personally wonder about a memory leak or something like that in your
trigger functions.

regards, tom lane

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


Re: [GENERAL] advice on schema for multilingual text

2006-04-09 Thread Michael Glaesemann


On Apr 9, 2006, at 0:31 , Daniel McBrearty wrote:


Hi

I have a website that has multilingual text stored in the database.  
Currently I just have a flat table (lets called it translations),  
one row per text item, one column per language. This works OK, for  
now, but I am looking at a redesign. Mostly I want to keep  
information about the languages in teh db as well, so that look  
like an extra table, one row per lang.


The problem that now arises is that there is an expected  
correlation between the languages and translations tables -  
there should be a row in languages for each column of translations.  
AFAIK (could well be wrong, I am no expert in db theory) there is  
no real way to express in the ddl. Not ideal.


An alternative layout would now be to lose the translations  
table, and have two tables in place; one called base_text  
containing the text to be translated, and another called, say,  
tx_text which contains the translations. Each row of tx_text  
references both base_text and also languages.


This looks like a nice layout, as there is an abstract rep of the  
languages, and we lose the translations table which can get very  
wide. It's nice that the schema doesn't actually change to add a  
new language.


BUT there are certain invariants that need to be enforced. The main  
one is this:


There must only be one row in site_text for any given language  
referencing a given row of base_text.


You'd want a unique index on (base_text, language), like:

create table tx_text
(
base_text text not null
references base_text(base_text)
, language text not null
references languages (language)
, primary key (base_text, language)
, tx_text text not null
);

I would also like to have a column in languages, type boolean,  
called is_base - this says what the base language is. Here, only  
ONE row can have a true value. (Obviously it has default value of  
false and is not null).


Here you want a partial unique index on languages where is_base is true
create table languages
(
language text primary key
, is_base boolean not null
);

create unique index languages_only_one_true_base_idx
on languages (is_base)
where is_base;


Another invariant now comes in - the language referenced by every  
row of site_text MUST have is_base set to FALSE.


I can think of two ways to do this: one is to write a trigger to  
enforce this, something like:


create function non_base_language_translations_check
returns trigger()
language plpgsql as $$
begin
if exists (
select *
from tx_text
natural join languages
where not is_base
)
then
raise exception
'Language of translation text must not be a base language.';
end if;
end;
$$;

Then use this function on triggers that fire on insert and update on  
tx_text and on update on languages.


Another is to include the is_base column in tx_text (with both  
language and is_base referencing languages) and use a check  
constraint to make sure is_base is false:


create table tx_text
(
base_text text not null
references base_text(base_text)
, language text not null
, is_base boolean not null check not is_base
	, foreign key (language, is_base) references languages (language,  
is_base)

on update cascade
, primary key (base_text, language)
, tx_text text not null
);

The latter method is denormalized, which is not something I usually  
recommend. I don't know how the constraint checking overhead of using  
a trigger compares with using the foreign key and check constraint.


A third idea would be to have two languages tables: one with a single  
row for the base language and another for the target languages (You  
might even do this using table inheritance, though I haven't thought  
this completely through). tx_text would reference the  
target_languages table (or child table, as the case may be).


I'm sure others have opinions on this as well.

Hope this helps.

Michael Glaesemann
grzm myrealbox com




---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
  choose an index scan if your joining column's datatypes do not
  match


Re: [GENERAL] Is difference between PostgreSQL and mySQL licences

2006-04-09 Thread Joshua D. Drake
applications are not GPL.  It's mostly commercial apps that end up 
getting the license because businesses fear lawsuits more than 
individuals do (something like music piracy in which end users copying 
a CD to their disk drives are much less likely to be sued than if you 
produce products that incorporate the music inside).


PostgreSQL is the way to go if you want a truly open source solution for 
your needs, whether commercial, private or open source.


Anyone who knows me, knows that I am in no way a MySQL fan. However the 
above statement is patently false.


MySQL is truly open source, and in fact is also considered Free Software 
in the sense that the FSF considers it free.


Yes PostgreSQL is more flexible but to be fair to MySQL, they have 
contributed the majority of their code if and they have to pay for it 
somehow. Software engineers are not cheap.


Joshua D. Drake




David

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

  http://www.postgresql.org/docs/faq




--

=== The PostgreSQL Company: Command Prompt, Inc. ===
  Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
  Providing the most comprehensive  PostgreSQL solutions since 1997
 http://www.commandprompt.com/



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

  http://archives.postgresql.org


Re: [GENERAL] Postgresql with Access 97

2006-04-09 Thread Shoaib Mir
You can try SQL_ASCII encoding in the following way in PostgreSQL:CREATE DATABASE test WITH ENCODING='SQL_ASCII';In the past I have used this good tool for conversion between Access and PostgreSQL. You can give it a try as well
http://www.data-conversions.net/access-to-postgresql-pro-converter.html/Shoaib
On 8 Apr 2006 17:04:41 -0700, zagman [EMAIL PROTECTED] wrote:
Hi all,I'm trying to migrate to a postgresql server backend with an existingAccess 97 application. However Access 97 crashes all the time if Iupdate any recordsThe error I see says something about SQL_ASCI
encoding when I look at the error report that Access generates to sendto Microsoft.What encoding should I use? I'm using postgresql 8.0.7 with pgsqlodbc8.00.01.03.Thanks,
Dave---(end of broadcast)---TIP 4: Have you searched our list archives? http://archives.postgresql.org