Wednesday, May 21, 2008

[ANNOUNCE] 2ndQuadrant Italia now open for business

2ndQuadrant is pleased to announce that the Italian arm of the company,
2ndQuadrant Italia is now open for business. A team of 6 free software
consultants form the core of the new team. The group comprehends Gabriele
Bartolini and other volunteers who helped out with the organisation of the
first Italian PGDay in 2007.

2ndQuadrant is now the largest PostgreSQL consulting and training business
in Europe, with a presence in the UK and Italy. The expansion of the
company offers a greater range of training, services and support to
European clients in 6 countries.

"2ndQuadrant courses on PostgreSQL are recognised as being amongst the
best in the world, so we look forward to being able to provide these more
widely in Italy, and across Europe", said Gabriele Bartolini, 2ndQuadrant
Italia.

"This initiative strengthens our capability to deliver a wide range of
high quality services to the growing PostgreSQL user base, with clear
leadership in Large Systems and Business Intelligence", said Simon Riggs,
Managing Consultant.


Alessandro Brogi
2ndQuadrant Italia
E-mail: info@2ndquadrant.it
Website: http://www.2ndquadrant.it/

---------------------------(end of broadcast)---------------------------
-To unsubscribe from this list, send an email to:

pgsql-announce-unsubscribe@postgresql.org

Re: [PERFORM] "append" takes a lot of time in a query

I think you're looking to return set of record or something like that.

On Wed, May 21, 2008 at 4:37 AM, Frank Dekervel
<frank.dekervel@smartlounge.be> wrote:
> Hello,
>
> Small update on this problem:
>
> Wouter Verhelst came to help debugging, and he determined that the 2 seconds
> were spent planning the query and not executing the query. (executing the
> query is quick as seen in the query plan).
>
> To avoid replanning this query all the time, Wouter suggest replacing the
> query with a stored procedure (so that the query plan was saved). We did a
> proof of concept, and it seemed to work very well.
>
> Another approach would be caching of prepared statements, but i found no
> implementations of this on the net.
>
> We now still need to find a way to hook the stored procs in our O-R mapper:
> generating them the first time a query is done (fairly easy), and
> making "select procname(param1,param2)" behave like a normal query.
>
> We tried a stored procedure returning a cursor and this seemed to work, but
> we'd like to avoid this as, to use cursors, we need to change the core logic
> of our system that decides whether to use transactions and cursors (now the
> system does not create a cursor if it does not expect too many rows coming
> back and so on, and no transaction if no "update" or "insert" queries have to
> be done).

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Re: [GENERAL] Using role priviledges for pg_dump

In response to Bill Moran <wmoran@collaborativefusion.com>:
>
> Given:
>
> CREATE ROLE joe WITH LOGIN;
> CREATE ROLE dumpable;
> ALTER GROUP dumpable ADD USER joe;
>
> If I have a database called db1 to which the role dumpable has enough
> permissions to do a full pg_dump, but he user joe does not, how can
> joe do a pg_dump? Is it possible?

Apologies, I left out a key piece of information:
The role dumpable has superuser privileges, and this is the reason that
dumpable is able to dump the database. As noted in the docs, superuser,
createdb, and createrole privs don't seem to inherit. If I remove
superuser from role dumpable, that role can't do pg_dump either.

As a point of explanation, this is part of a migration to get individual
users away from requiring superuser privs. Eventually, I plan to have
ACLs on all database objects such that I can remove superuser from the
dumpable role, but if I could get other roles to inherit the superuser
priv, it would make migration a lot easier.

--
Bill Moran
Collaborative Fusion Inc.
http://people.collaborativefusion.com/~wmoran/

wmoran@collaborativefusion.com
Phone: 412-422-3463x4023

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[COMMITTERS] pgsql: Add include directory required after the latest changes to the

Log Message:
-----------
Add include directory required after the latest changes to the ecpg build.
Per red Windows buildfarm members.

Modified Files:
--------------
pgsql/src/tools/msvc:
Mkvcbuild.pm (r1.29 -> r1.30)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/tools/msvc/Mkvcbuild.pm?r1=1.29&r2=1.30)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Re: [HACKERS] proposal: table functions and plpgsql

On Wed, 2008-05-21 at 13:31 -0400, Merlin Moncure wrote:
> On Wed, May 21, 2008 at 1:28 PM, Hannu Krosing <hannu@krosing.net> wrote:
> >> In my proposal I don't create any default variables. Result type is
> >> only virtual - I don't need write it to system directory. I thing it's
> >> better than using some specific predeclared type as RESULTTYPE OR
> >> RESULTSET.
> >
> > How is this different from using OUT params and RETURNS SETOF RECORD ?
>
> *) you reference output variables via rowtype (r.var vs. var)

As I'm currently working on updating another pl (pl/python), I'd like to
know how will this affect get_call_result_type() defined in funcapi.h.
will there be an extra parameter for record name there ?

> *) seems cleaner to separate in/out variables so add/drop function are
> symmetric.

they are kind of symmetric already :)

hannu=# drop function outsetof2py(n integer, OUT i integer, OUT j
integer);
DROP FUNCTION


> Also,
> What about:
>
> CREATE OR REPLACE FUNCTION foo(m integer)
> RETURNS TABLE (a integer, b integer) AS $$
> -- DECLARE r foo; -- make alias of r to foo optional
> BEGIN
> FOR i IN 1..m LOOP
> foo.a := i; foo.b := i + 1;
> [...]
>
> or
> RETURNS TABLE r(a integer, b integer) AS $$

rather "..FUNCTION foo(...) ... RETURNS TABLE r(..." as else it will be
hard to do recursive functions.

> merlin
>


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

[HACKERS] May Commitfest is done!

Per discussion of various hackers at PGCon, the May commitfest is
finished. The remaining patches on the queue are Heikki's map-forks
patch, which was WIP not intended to be committed now; and Merlin
and Andrew's libpq hooks patch, which is still in flux and not
ready to commit now.

So ... back to your regularly scheduled development.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Re: [BUGS] Getting the command line to work

On Wed, May 21, 2008 at 6:43 PM, Paul Jordan <pjordan@oxy.edu> wrote:
> Hi. Perhaps this isn't the proper place to send this, but it's the only
> address I have. I've installed postgres and I'm trying to use the command
> prompt to create a database (PGAdmin III having failed miserably at the
> task).

Please define "failed miserably". pgAdmin should only ever fail if you
have a problem such as lack of privileges or disk space or similar,
and then should give you an appropriate error message.

> The documentation I'm working with, created by people I trust know
> what they're doing, says that I should enter the following:
>
> "createdb qf_local -U postgres -W -h localhost"

Unfortunately it seems they don't know what they're doing. Try:

createdb -U postgres -W -h localhost qf_local

Per the docs at http://www.postgresql.org/docs/8.3/interactive/app-createdb.html


--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Re: [pgsql-de-allgemein] Tabellen im laufenden Betrieb auf andere Tablespaces verlagern ohne DB-Server Downtime?

Andreas 'ads' Scherbaum schrieb:
>>>> zu guenstingen Discountpreisen sowie unlimited Traffic inkl.
>>>>
>>> Du willst ganz viel Leistung fuer ganz wenig Geld, verstehe.
>>> Ich enthalte mich weiterer Kommentare.
>>>
>> Wer will das nicht?
>>
>
> Du bekommst aber eine Mogelpackung.
> Entweder du zahlst für die Leistung, die du verlangst oder irgendwo
> fehlt letztendlich etwas, worauf du dich aber verlässt.
>
> Alles andere ist Marktwirtschaftlich Schwachsinn und deine Idee darauf
> zu begründen wird dich auf keinen grünen Zweig bringen.
>
Wenn ich mir mal die Website eurer Firma anschaue und deine bisherigen
Tätigkeiten dort mal
als Referenz ansehen kann, dann bist Du nicht unbedingt der richtig
Ansprechpartner in Sachen
BWL.

Vielleicht bist du ja technisch eine Leuchte, zumindest behauptest Du
das die ganze Zeit in dem
du mir versuchst einzureden ich hätte keine Ahnung, aber Du hast Du ober
über Mega Ahnun
ohne dabeui jedoch mal kokret zu werden. Ich verlasse mich beim
Webhosting Preisleistungstechnisch
auf ein gutes Mittelmaß, was Du allerdings vorschlägst ist nicht
ersichtlich - nur das alles was mein Provider
anbietet nun mal schlechter sein soll.

Coole Argumentation, das braucht man sicherlich um Consultingleistungen
für Leute die sich ein x für ein u
vormachen lassen, aber es bleibt zweifelhaft ob Du jemand der selber aus
der Branche ist so einen Unsinn
verkaufen kannst.Wenn Du es nicht bleiben lassen kannst andere
Systemearchitekturen zu tollerieren und
immer deine Ansichten als einzig wahrhaftige zu verkaufen solltest Du
besser schweigen und gar nichts mehr
sagen, denn sowas geht auf den Keks und glaubhafter wirst Du dadurch
bestimmt nicht.

Ist mir nun auch egal ob Du das schön findest oder nicht. Wenn ich
lernresistent bin, weil ich mir keinen
Unsinn von Dir erzählen lasse, dann bist Du renitent und penetrant.


--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: [pgsql-es-ayuda] DECLARAR FUNCION

El problema no creo que sea en la declaración (para evitar malentendidos, es preferible que copies literalmente el error en lugar de interpretarlos), sino en tu uso de raise notice, que debería ser de esta forma:

raise notice '%',cosa_arreglo;

El día 21 de mayo de 2008 12:08, Luis Fernando Curiel Cabrera <lcuriel@gmail.com> escribió:
Disculpen por la pregunta tan tonta que hago, pero de que forma debo declarar correctamente esta funcion? El error que marca es debido a que no esta bien declarado el arreglo.. me pueden asesorar por favor


CREATE OR REPLACE FUNCTION testArray(cosa_arreglo int4[][]) RETURNS VOID AS $$
BEGIN
     RAISE NOTICE cosa_arreglo;
END
$$ LANGUAGE plpgsql












--
Luis Fernando Curiel Cabrera
- Professional ABACO DE BOLITAS Developer.
- Certified ABACO DE BOLITAS Programmer.

[BUGS] Getting the command line to work

Hi. Perhaps this isn't the proper place to send this, but it's the only address I have. I've installed postgres and I'm trying to use the command prompt to create a database (PGAdmin III having failed miserably at the task). The documentation I'm working with, created by people I trust know what they're doing, says that I should enter the following:
 
"createdb qf_local -U postgres -W -h localhost"
 
But when I do that, it tells me that there are too many command line arguments and it fails.
 
What am I doing wrong? I've never worked with DOS before, so my error might even be blindingly obvious, but I have no idea what it is. Any help you could give me in getting postgres to do what it's supposed to do would be marvelous.
 
Many thanks,
 
Paul Jordan
Digital Archivist
Occidental College

Re: [HACKERS] proposal: table functions and plpgsql

On Wed, May 21, 2008 at 1:28 PM, Hannu Krosing <hannu@krosing.net> wrote:
>> In my proposal I don't create any default variables. Result type is
>> only virtual - I don't need write it to system directory. I thing it's
>> better than using some specific predeclared type as RESULTTYPE OR
>> RESULTSET.
>
> How is this different from using OUT params and RETURNS SETOF RECORD ?

*) you reference output variables via rowtype (r.var vs. var)
*) seems cleaner to separate in/out variables so add/drop function are
symmetric.

Also,
What about:

CREATE OR REPLACE FUNCTION foo(m integer)
RETURNS TABLE (a integer, b integer) AS $$
-- DECLARE r foo; -- make alias of r to foo optional
BEGIN
FOR i IN 1..m LOOP
foo.a := i; foo.b := i + 1;
[...]

or
RETURNS TABLE r(a integer, b integer) AS $$

merlin

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] proposal: table functions and plpgsql

On Wed, 2008-05-21 at 18:12 +0200, Pavel Stehule wrote:
> Hello

...

> In my proposal I don't create any default variables. Result type is
> only virtual - I don't need write it to system directory. I thing it's
> better than using some specific predeclared type as RESULTTYPE OR
> RESULTSET.

How is this different from using OUT params and RETURNS SETOF RECORD ?

hannu=# CREATE FUNCTION outsetof2py(n integer, OUT i integer, OUT j
integer) RETURNS SETOF record
AS $$
for i in xrange(n):
yield {'i':i,'j':i*i}
$$
LANGUAGE plpythonu;
CREATE FUNCTION
hannu=# select * from outsetof2py(3);
i | j
---+---
0 | 0
1 | 1
2 | 4
(3 rows)

btw, this currently works for pl/python only in my local copy (still
testing for bugs), but similar declaration works fine for pl/pgsql

--------------
Hannu

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

[pgsql-es-ayuda] DECLARAR FUNCION

Disculpen por la pregunta tan tonta que hago, pero de que forma debo declarar correctamente esta funcion? El error que marca es debido a que no esta bien declarado el arreglo.. me pueden asesorar por favor


CREATE OR REPLACE FUNCTION testArray(cosa_arreglo int4[][]) RETURNS VOID AS $$
BEGIN
     RAISE NOTICE cosa_arreglo;
END
$$ LANGUAGE plpgsql












--
Luis Fernando Curiel Cabrera
- Professional ABACO DE BOLITAS Developer.
- Certified ABACO DE BOLITAS Programmer.

Re: [HACKERS] [PATCHES] WITH RECURSIVE patch V0.1

"Joshua D. Drake" <jd@commandprompt.com> writes:

>> >> Couldn't we just have it pay attention to the existing
>> >> max_stack_depth?
>> >
>> > Recursive query does not consume stack. The server enters an infinite
>> > loop without consuming stack. Stack-depth error does not happen.
>>
>> We could have a separate guc variable which limits the maximum number of
>> levels of recursive iterations. That might be a useful feature for DBAs that
>> want to limit their users from issuing an infinite query.
>
> statement_timeout :)

Good point.

Though it occurs to me that if you set FETCH_COUNT in psql (or do the
equivalent in your code ) statement_timeout becomes much less useful.

--
Gregory Stark
EnterpriseDB

http://www.enterprisedb.com

Ask me about EnterpriseDB's On-Demand Production Tuning

--
Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches

[pgsql-es-ayuda] Prueba de stres

Listeros,

Tengo una aplicacion que tiene como DB PostgreSQL 8.1 y la parte web desarrollada en PHP, me gustaria que me recomendaran un programa gratuito para realizar una prueba de estres de la aplicación.

Muchas Gracias,

Fernando Miranda

Re: [HACKERS] [PATCHES] WITH RECURSIVE patch V0.1

> >> Couldn't we just have it pay attention to the existing
> >> max_stack_depth?
> >
> > Recursive query does not consume stack. The server enters an infinite
> > loop without consuming stack. Stack-depth error does not happen.
>
> We could have a separate guc variable which limits the maximum number of
> levels of recursive iterations. That might be a useful feature for DBAs that
> want to limit their users from issuing an infinite query.
>

statement_timeout :)

Joshua D. Drake


--
Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches

Re: [PERFORM] "Big O" notation for postgres?

On Wed, 21 May 2008 16:10:53 +0200, H. Hall <hhall1001@reedyriver.com>
wrote:

> Does anyone know if there is a source that provides "Big O" notation for
> postgres's aggregate functions and operations? For example is count(*)
> = O(1) or O(n)?
>
> Do the developers for postgres use Big O when selecting algorithms? If
> so, is the info easily available?

You can't do any better than O( n rows examined by the aggregate ) except
for max() and min() on an indexed expression, which in this case aren't
really aggrgates anymore since they are internally rewritten as an index
lookup to get the value you want... but stuff like sum() or avg() or
count() will always have to see all the rows selected (and some more)
unless you use clever hacks like materialized views etc, in which case the
thing in the O() will change, or at least the O() constant will change...

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

[pgadmin-support] SQL Profiler

I've made the switch from SQL Server and really like Postgres, but I can't
find an equivalent tool for SQL Profiler. This allows an administrator to
monitor connections and inbound SQL requests. Its very useful for
application debugging in that its very easy to see the SQL statements that
an app. is passing to the db. Is there such a tool in Postgres?

Thanks much,

Jason


--
Sent via pgadmin-support mailing list (pgadmin-support@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-support

Re: [PERFORM] Posible planner improvement?

A Dimecres 21 Maig 2008, Richard Huxton va escriure:
> Luke Lonergan wrote:
> > The problem is that the implied join predicate is not being
> > propagated. This is definitely a planner deficiency.
>
> IIRC only equality conditions are propagated and gt, lt, between aren't.
> I seem to remember that the argument given was that the cost of
> checking for the ability to propagate was too high for the frequency
> when it ocurred.
>
> Of course, what was true for code and machines of 5 years ago might not
> be so today.

Hope this can be revisited given the huge difference in this case: 80 minutes
to 1 second.

--
Albert Cervera Areny
Dept. Informàtica Sedifa, S.L.

Av. Can Bordoll, 149
08202 - Sabadell (Barcelona)
Tel. 93 715 51 11
Fax. 93 715 51 12

====================================================================
........................ AVISO LEGAL ............................
La presente comunicación y sus anexos tiene como destinatario la
persona a la que va dirigida, por lo que si usted lo recibe
por error debe notificarlo al remitente y eliminarlo de su
sistema, no pudiendo utilizarlo, total o parcialmente, para
ningún fin. Su contenido puede tener información confidencial o
protegida legalmente y únicamente expresa la opinión del
remitente. El uso del correo electrónico vía Internet no
permite asegurar ni la confidencialidad de los mensajes
ni su correcta recepción. En el caso de que el
destinatario no consintiera la utilización del correo electrónico,
deberá ponerlo en nuestro conocimiento inmediatamente.
====================================================================
........................... DISCLAIMER .............................
This message and its attachments are intended exclusively for the
named addressee. If you receive this message in error, please
immediately delete it from your system and notify the sender. You
may not use this message or any part of it for any purpose.
The message may contain information that is confidential or
protected by law, and any opinions expressed are those of the
individual sender. Internet e-mail guarantees neither the
confidentiality nor the proper receipt of the message sent.
If the addressee of this message does not consent to the use
of internet e-mail, please inform us inmmediately.
====================================================================


--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Re: [PERFORM] Posible planner improvement?

On Wed, 21 May 2008 15:09:49 +0200, Richard Huxton <dev@archonet.com>
wrote:

> Luke Lonergan wrote:
>> The problem is that the implied join predicate is not being
>> propagated. This is definitely a planner deficiency.
>
> IIRC only equality conditions are propagated and gt, lt, between aren't.
> I seem to remember that the argument given was that the cost of
> checking for the ability to propagate was too high for the frequency
> when it ocurred.
>
> Of course, what was true for code and machines of 5 years ago might not
> be so today.
>

Suggestion : when executing a one-off sql statement, optimizer should try
to offer "best effort while being fast" ; when making a plan that will be
reused many times (ie PREPARE, functions...) planning time could be
muuuuch longer...

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

[HACKERS] proposal: table functions and plpgsql

Hello

I am returning back to my patch and older proposal
http://archives.postgresql.org/pgsql-hackers/2007-02/msg00318.php .

Some work did Neil Conway
http://archives.postgresql.org/pgsql-hackers/2007-07/msg00501.php and
he commited half of this patch - RETURN QUERY part.

Problematic part of my patch is implementation. Tom Lane proposal
implenation RETURNS TABLE only as syntactic sugar for RETURNS SETOF
RECORD. This is not comaptible with potential implementation, because
it adds some default variables. My solution was special argmode, so I
was able don't create default variables for output. My solution wasn't
best too. It was ugly for current plpgsql where is often used RETURN
NEXT statement (PSM doesn't know similar statement). I unlike default
variables - it simply way to variables and column names collision.

I propose following syntax for plpgsql:

CREATE OR REPLACE FUNCTION foo(m integer)
RETURNS TABLE (a integer, b integer) AS $$
DECLARE r foo; -- same name as function, this type has local visibility
BEGIN
FOR i IN 1..m LOOP
r.a := i; r.b := i + 1;
RETURN NEXT r;
END LOOP;
RETURN;
END;
$$ LANGUAGE plpgsql;

In my proposal I don't create any default variables. Result type is
only virtual - I don't need write it to system directory. I thing it's
better than using some specific predeclared type as RESULTTYPE OR
RESULTSET.

What do you thing about?

Regards
Pavel Stehule

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

[COMMITTERS] pgsql: Fix function headers not matching prototype in header file, per

Log Message:
-----------
Fix function headers not matching prototype in header file, per
compiler warnings on msvc.

Modified Files:
--------------
pgsql/src/bin/psql:
print.c (r1.107 -> r1.108)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/psql/print.c?r1=1.107&r2=1.108)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

[HACKERS] plpgpsm future

Hello

I sent rpm package to Devrim and for next two months I am don't will
work on it.

I did some work on sharing code plpgpsm and plpgsql. Without lexer and
parser it can share about 100KB (from 400KB). If we allow callbacks in
parser - it can share about 200KB. But it's need relative massive
refactoring current plpgsql code. So next step is this refactoring and
I hope, so this work will be done in 8.4.

Regards
Pavel Stehule

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] [PATCHES] WITH RECURSIVE patch V0.1

"Yoshiyuki Asaba" <y-asaba@sraoss.co.jp> writes:

> Hi,
>
> From: David Fetter <david@fetter.org>
> Subject: Re: [HACKERS] [PATCHES] WITH RECURSIVE patch V0.1
> Date: Mon, 19 May 2008 04:36:30 -0700
>
>> > > I think it's the other way around. The server should not emit
>> > > infinite number of records.
>> >
>> > How about adding new GUC parameter "max_recursive_call"?
>>
>> Couldn't we just have it pay attention to the existing
>> max_stack_depth?
>
> Recursive query does not consume stack. The server enters an infinite
> loop without consuming stack. Stack-depth error does not happen.

We could have a separate guc variable which limits the maximum number of
levels of recursive iterations. That might be a useful feature for DBAs that
want to limit their users from issuing an infinite query.

Note that users can always construct their query to limit the number of
recursive iterations. So this would only be useful for DBAs that don't trust
their users and want to impose a limit. It doesn't add any actual expressive
power that SQL doesn't have already.

The recursive query syntax in the spec actually does include the ability to
assign an output column to show what level of recursive iteration you're on.
So alternately we could have a GUC variable which just allows the DBA to
prohibit any recursive query without such a column and a fiter imposing a
maximum value on it. That's probably the most appropriate option.


--
Gregory Stark
EnterpriseDB

http://www.enterprisedb.com

Ask me about EnterpriseDB's Slony Replication support!

--
Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches

Re: [pgsql-de-allgemein] Tabellen im laufenden Betrieb auf andere Tablespaces verlagern ohne DB-Server Downtime?

On Wed, 21 May 2008 16:15:26 +0200 rudi@je-more.de wrote:

> Quoting Andreas 'ads' Scherbaum <adsmail@wars-nicht.de>:
>
> > > Es gibt nicht viele Provider die eine redundante Leitung zum DECIX
> > > haben, ein Rechenzentrum nach den neuesten Standards und Spitzenhardware
> > > zu gue¼nstingen Discountpreisen sowie unlimited Traffic inkl.
> >
> > Du willst ganz viel Leistung fuer ganz wenig Geld, verstehe.
> > Ich enthalte mich weiterer Kommentare.
>
> Wer will das nicht?

Du bekommst aber eine Mogelpackung.
Entweder du zahlst für die Leistung, die du verlangst oder irgendwo
fehlt letztendlich etwas, worauf du dich aber verlässt.

Alles andere ist Marktwirtschaftlich Schwachsinn und deine Idee darauf
zu begründen wird dich auf keinen grünen Zweig bringen.


> > [X] Du hast Tablespaces nicht verstanden.
> >
> > *Grusel* Bitte beschäftige dich erst mit einem Thema, bevor du
> > versuchst, selbiges einzusetzen.
>
> Also nun frage ich mich ob Du die Doku von der Du dauernd
> redest wirklich verstanden hast.

Ich denke, das habe ich.

> Da steht:
> Examples
>
> CREATE TABLESPACE dbspace LOCATION '/data/dbs';
>
> Genau das führt mein Programm aus, nur der Parameter
> LOCATION eben $PGDATA/mylocation entspricht.

'/data' != $PGDATA

> Was soll denn daran bitte schoen falsch sein?

Der Grund, warum man Tablespaces benutzt, steht in "Description":

http://www.postgresql.org/docs/8.3/interactive/sql-createtablespace.html

Lass mich zitieren:

"A tablespace allows superusers to define an alternative location on
the file system where the data files containing database objects (such
as tables and indexes) can reside."

Deine Struktur, die du unterhalb von $PGDATA zementierst, ist keine
"alternative location", das ist schlicht unüberlegter Schwachsinn.
Tablespaces sind dafür gedacht, Daten auf andere Festplatten im System
auszulagern und nicht, weitere Verzeichnisse in $PGDATA anzulegen.


Der andere Grund, den du da früher genannt hattest, dass PG die
Verzeichnisse nicht alleine anlegt:

"directory: The directory that will be used for the tablespace. The
directory must be empty and must be owned by the PostgreSQL system
user. The directory must be specified by an absolute path name."

Warum sollte es - der Administrator der Datenbank bzw. des Systems
weiss selbst am besten, wo die Daten hingeschrieben werden sollen. Wenn
Tablespaces genutzt werden, soll derjenige auch festlegen, wo genau.


> Möglicherweise hast Du ja auch etwas nicht richtig verstanden,
> man lernt nie aus ;d

Ja, genau.
Und du wirst schon wieder persönlich.

> > > Weil es nun mal so ist und ohne Downtime funktionieren muss, ganz
> > > einfach, das ist die Anforderung!
> >
> > "Ohne Downtime" kann nicht die einzige Anforderung sein.
>
> Downtime bedeutet Verlust von Geld. Daher ist es eigentlich recht
> logisch das man sie versucht so gut es geht zu vermeiden. Natürlich
> ist das die wirtschaftliche Seite, aber die ist eben auch
> wichtig.

Ohne Downtime bedeutet "100% Verfügbarkeit". Das zu realisieren nimm
dir besser erst gar nicht vor.

Wenn du so etwas versuchen wolltest, müsste deine Anwendung im
Endausbau bereits stehen, sobald dein Dienst startet. Mit allem drum
und dran, Plattenplatz, Backup und was nicht alles. Obwohl - Backup
brauchst du ja nicht. Schliesslich willst du sowieso 100% Verfügbarkeit
garantieren.

Das was du dir unter "ohne Downtime" vorstellst, ist immer ein Schnitt
aus "möglichst geringe Ausfallzeiten" und "wieviel Hardware und Leute
stehen bereit, das zu garantieren". Wenn du bei einem normalen Hoster
anfängst, hast du schon mal ~ 15 min Downtime, bevor sich irgendjemand
deines Problems annimmt. Das kratzt schon sehr an deinen 100%
Verfügbarkeit.

So, und jetzt überdenk dein Konzept noch mal und leg fest, wieviele
Neunen du hinter dem Komma stehen haben möchtest - und wie ev. die Zahl
vor dem Komma aussieht. Eine Webseite darf auch mal offline
sein. So etwas kündigt man an, richtet Wartungsfester ein und gut ist.
Wenn du den Schnittpunkt zwischen "Kosten für 100% Verfügbarkeit" und
"Einnahmen durch die Webseite" überschreitest, wird dich jeder Manager
zurückpfeifen und dir sagen, dass du da etwas falsch angehst.

> > > Downtimes und schlechte Performance bei konstanten sowie stark
> > > wachsenden Userzahlen sind ein KO Kriterium und no go das unbedingt
> > > vermieden werden muss und daher ist es Gegenstand der aktuellen
> > Planspiele.
> >
> > Marketing ...
>
> Tja, für irgendwen entwickelt man seine Software als Softwareentwickler
> nun mal, am liebsten fue diejenigen Kunden die auch bereit sind
> dafuer zu zahlen und fuer Binsenweisheiten zahlen die Leute nun mal
> nicht viel.

"Ohne Downtime" ist die Binsenweisheit, die du hier verkaufen möchtest.
Haben dir ein paar andere hier aber auch schon geschrieben, du hörst
nunmal nicht zu.

> > > ein verteiltes Szenario ist aber ein interessanter Gedanke, nur scheinen
> > > 80 GByte Server Festplatte dabei trotzdem zu wenig, gerade wenn eine
> > > Tabelle schon über 450 GByte gross ist und stark weiter wächst.
> >
> > Ich erinnere dich mal an deine eigenen Aussagen, dass du Terabyte bzw.
> > Exobyte an Daten ablegen wolltest. Da sind auch Festplatten mit 450 GB
>
> Ich sprach davon das eine bestimmte Tabelle bereits die Marke von
> 450 GByte erreicht hat und das Oracle 8 Exobate an Daten verwalten kann.

Ich möchte dich auf:

http://archives.postgresql.org/pgsql-de-allgemein/2008-05/msg00017.php

verweisen, wo du genau das selbst schreibst.

> Un nun bleib mal locker;D

Ich bin locker, ich habe ein Archiv der Mailingliste zur Verfügung und
weiss, wie man darin sucht. Was ist dein Argument?


Bis dann

--
Andreas 'ads' Scherbaum
German PostgreSQL User Group
European PostgreSQL User Group - Board of Directors

--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

[NOVICE] Singapore time zone

We seem to be having a time zone problem on a box configured for Singapore timezone. The OS is Suse10.2 PostgreSQL version is 8.1.5.

 

 

This simple PHP file prints   2008-05-21 23:04:24SGT

<?php

 

$d = date('Y-m-d H:i:sT', time());

print $d;

 

?>

 

 

Testing that timestamp string in PostgreSQL fails. It works ok with the other time zone.

 

 

host=> SELECT CAST('2008-05-21 23:04:24SST' AS TIMESTAMP WITH TIME ZONE);

      timestamptz      

------------------------

 2008-05-22 05:04:24+08

(1 row)

 

host=> SELECT CAST('2008-05-21 23:04:24SGT' AS TIMESTAMP WITH TIME ZONE); 

ERROR:  invalid input syntax for type timestamp with time zone: "2008-05-21 23:04:24 SGT"

 

 

Is this something that’s been fixed in a later version or is it some other issue?

 

Thanks.

Re: [planet] Fujitsu Planet PostgreSQL Blog

Hi,

One of your posts was violating a policy of Planet -- we avoid publishing
advertisements at Planet PostgreSQL.

Regards, DEvrim

On Sat, 17 May 2008, Liam O'Duibhir wrote:

> Hi Devrim,
>
> This is Liam from Fujitsu Australia Software Technology. I just completed a
> new blog entry (refer http://postgresql.fastware.com/node/54 ) and was
> hoping that it would be picked up by Planet PostgreSQL.
>
> It doesn't appear to have been. It's an important announcement about our
> recent work with Slony I which we will showcase at OpenCeBIT in
> Sydney,Australia.
>
> We worked fairly hard over a year ago to have our blog included in the
> Planet PostgreSQL aggregation.
>
> Is there any particular reason that you are aware of why we are no longer
> being picked up - we did change host server last December - that may have
> been a factor.
>
> Regards,
>
> Liam
>
> _____________________________________________
> Liam O'Duibhir ? Programme Manager - Open Source Software
> Fujitsu Australia Software Technology
> 14 Rodborough Road, Frenchs Forest NSW 2086
> Tel: (61-2) 9452 9068 Fax: (61-2) 9975 3779
> Mob: 0423 025 852 Email: LiamOD@fast.fujitsu.com.au
>
> postgresql.fastware.com <http://postgresql.fastware.com.au/>
>

--
Devrim GÜNDÜZ
RHCE, PostgreSQL Consultant @ Command Prompt, Inc.

http://www.CommandPrompt.com
devrim~gunduz.org, devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr

http://www.gunduz.org

--
Sent via planet mailing list (planet@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/planet

Re: [GENERAL] escaping and quoting

Maarten Deprez wrote:
[wants to get rid of backslash escape warnings]
> > Does the program work correctly despite the warnings?
>
> At least it seems so. I'm using it as email server without problems.
>
>
> > What API are you using (there is no EscapeBytea function in the C API)?
>
> It's the PQescapeBytea function from libpq. Note that i didn't write the
> program, so i don't know the code so well.
>
>
> > Exactly how does the bytea string constant look that you send to the server?
>
> For example (taken from the log and completed a bit):
> INSERT INTO ... (..., messageblk,blocksize, physmessage_id) VALUES
> (0,'SA\\304...')
>
>
> > Are there any other strings with backslashes in your statements?
>
> Don't know, probably yes. The backslashes are probably generated by the
> escape function.

I use information from the online documentation:
http://www.postgresql.org/docs/current/static/runtime-config-compatible.html
http://www.postgresql.org/docs/current/static/libpq-exec.html#AEN31630

You should always use PQescapeByteaConn and not PQescapeBytea.
Presumably you have no choice, though, as you did not write the code.

You can get rid of the warnings by setting
escape_string_warning=off
This requires that
standard_conforming_strings=off

Alternatively (and this is better) you can preceed the string with E
(as in E'SA\\304...') and leave escape_string_warning=on.
I don't know if you can do that since you didn't write the code.
This makes you independent of the setting of standard_conforming_strings.

You can also (third option) set standard_conforming_strings=on.
But then you must use the PQescapeByteaConn function, which you probably cannot.

Or you execute the statement with PQexecParams and do not escape
the bytea at all.

Yours,
Laurenz Albe

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Re: [pgsql-de-allgemein] Tabellen im laufenden Betrieb auf andere Tablespaces verlagern ohne DB-Server Downtime?

rudi@je-more.de schrieb:

> Daher bin ich dort wo ich bin eigentlich recht zufrieden. Ich habe
> mittlerweile angrafragt und sie würden mir auf wunsch auch biszu 4 Platten
> einbauen, das Problem ist somit vorerst aus der Welt ;d

[..]

> Debian Etch 4.0 64-Bit. Über NFS mache ich einiges, aber LVM
> habe ich bisher nicht angerührt, ist für PG wohl aber auch nciht empfohlen,
> zumindest laut Performanceguide aus der offiziellen Doku.

[..]

>> Falls man Gefahr läuft relativ bald ans Limit des Gehäuses/Controllers
>> zu kommen, sollte man einen Blick in Richtung SAN werfen, die sind
>> meistens noch eine Spur besser online erweiterbar.
>
> Und kosten ein Vermögen ;d Das Geld muss erstmal reinkommen, dann
> kann das kommen, vorher erstmal kleine Brötchen backen ohne gegen die Wand
> zu fahren. Ich bin überzeug das auch das geht ;d

[..]

>> wärs
>> langsam wirklich nett wenn du wo ein komplettes Konzept bzw.
>
> Sorry, das ist etwas zu umfangreich ;d

[..]

Echt jetzt. Sei mir nicht bös, aber mir drängt sich langsam der Verdacht
auf dass du in vielen Bereichen in die das ganze Reinspielt keine
Erfahrung hast _UND_ akut lernresistent bist. Wenn man selbst keine
Möglichkeit hat Sachen auszuprobieren muss man sich Leute suchen deren
Meinung man ernst nimmt, auch wenn es aus der jetzigen Perspektive
keinen Sinn macht. Alles was hier gesagt wurde lässt sich auf Wunsch mit
Beispielen und Fakten untermauern, dazu muss man allerdings bereit sein
seinen eigenen Standpunkt zu wechseln und darf ihn nicht mit einem
Bolzenschussgerät vor Diskussionsbeginn in den Fels rammen.

Eine dieser Konstanten besagt, dass jede "9" hinter dem "99," bei der
Verfügbarkeit ein kleines Vermögen kostet (entweder durch entsprechende
Hardware, komplexere Wartung oder hohe Setupkosten). Wenn man das nicht
im Vorfeld berücksichtigt tritt man sich sehr komplexe und entweder
unverhältnismässig teure oder wenns "billig" gelöst ist, wackelige
Systeme ein.

Bitte tu' dir selbst einen Gefallen und stell mal Anforderungen, Budget
und Realität gegenüber und schau ob das überhaupt Sinn macht, ich hab
schon langsam akute Zweifel. Und lies das Scalable Internet
Architectures. Bitte.

Etwas food for thought zu diesem Thema gibts auch unter
http://highscalability.com/; sind nicht alle Sachen interessant, sind
aber immer wieder nette Beiträge dabei die den Blickwinkel etwas weiten
können.

Und so generell zu Operations oder "Was muss ich alles in meinen 99,9+%
Verfügbarkeit Berücksichtigen": http://www.sysadmin.com.au/sa-bok.html .


lg,
michael


--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

[ADMIN] FW: v8.2.6->8.2.7 upgrade renamed /var/lib/pgsql

Sorry for the HTML posting previously.

I've already renamed the directories and the database is up and running.

I was just wondering if anyone else had this issue and what the reason, if known, for the renaming. I completely understand this type of behavior when doing a major version upgrade, but not a minor version patch like this.

Thanks,

Gord


________________________________________
From: Hyatt, Gordon
Sent: Wednesday, May 21, 2008 9:28 AM
To: pgsql-admin@postgresql.org
Subject: v8.2.6->8.2.7 upgrade renamed /var/lib/pgsql

To all,

I just applied the v8.2.7 upgrade (from v8.2.6) on and FC8 server via yum.  The upgrade went OK, but the /var/lib/pgsql directory (with the existing data) was renamed to /var/lib/pgsql.old and a new (and empty) /var/lib/pgsql directory was created.

Does anyone know why this would have happened? 

The particular machine is an FC8, dual core AMD DELL with 4GB RAM running the x86_64 pg binaries.

I applied the same update (v8.2.6->8.2.7) to an FC7 Pentium4 box running the 32-bit pg binaries and did not have to rename the /var/lib/pgsql directories.

Has anyone else run into this?

Thanks, in advance,

Gord


--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

Re: [pgsql-de-allgemein] Tabellen im laufenden Betrieb auf andere Tablespaces verlagern ohne DB-Server Downtime?

Quoting Michael Renner <renner@inqnet.at>:

> rudi@je-more.de schrieb:
>
> > Es gibt nicht viele Provider die eine redundante Leitug zum DECIX
> > haben, ein Rechenzentrum nach den neuesten Standards und Spitzenhardware
> > zum günstingen Discountpreis sowie unlimited Traffic inkl. Bei einem
> kleinen
> > Wald und Wiesen Provider wirds meist teuer und die Leitung von und zum
> > Inet hin ist lahm und meist muss man noch den Traffic extra bezahlen.
>
> Sei mir nicht bös, aber das von dem du da gerade erzählst klingt
> ziemlich nach Wald&Wiesen-Provider mit Fehleinschätzung der Situation :).

Ganz groß kann ja auch "auch" ein Problem sein, weil die ausser
Stangenwahre nichts spezielles machen, das ist eben Massengeschäft.
Zu klein kann jedoch den Nachteil haben schlecht angebunden oder technisch
nicht auf dem hohen Niveau der großen zu sein.

Daher bin ich dort wo ich bin eigentlich recht zufrieden. Ich habe
mittlerweile angrafragt und sie würden mir auf wunsch auch biszu 4 Platten
einbauen, das Problem ist somit vorerst aus der Welt ;d

> Cheap, Fast, Reliable ist nahezu immer (ausser die Housing/Hosting
> Business Unit der Firma ist nicht Gewinnorientiert) ein "pick two out of
> three".
>
>
> [..Storagewahnsinn..]
>
> Mit einzelnen Systemen kannst du bis zu einer gewissen Größe
> Blockdevicemässig wachsen. Dies wird eigentlich nur durch die Diskslots
> im Gehäuse bzw. die SATA/SAS-Ports am Controller beschränkt. Sinnvolle
> RAID-Controller (zB HP Smartarray) können Volumes online extenden bzw.
> erzeugen; obs das darunterliegende OS mit Volume-Manager kann gilt es
> auszuprobieren.

Debian Etch 4.0 64-Bit. Über NFS mache ich einiges, aber LVM
habe ich bisher nicht angerührt, ist für PG wohl aber auch nciht empfohlen,
zumindest laut Performanceguide aus der offiziellen Doku.


> Falls man Gefahr läuft relativ bald ans Limit des Gehäuses/Controllers
> zu kommen, sollte man einen Blick in Richtung SAN werfen, die sind
> meistens noch eine Spur besser online erweiterbar.

Und kosten ein Vermögen ;d Das Geld muss erstmal reinkommen, dann
kann das kommen, vorher erstmal kleine Brötchen backen ohne gegen die Wand
zu fahren. Ich bin überzeug das auch das geht ;d

> Da du wieder Gefahr läufst ins 99,999999% Traumland abzudriften

Kann deine Ansicht diesbezüglich nicht teilen, da ich schon standalone MySQL
Tabellen habe die jenseits von 450 Gybte liegen und permanent anwachsen.
Die gesammt DB knackt bald die 800 GByte Grenze, daher muss das Ablösesystem
mit Postgres 8.3 bald zum Zug kommen. Dabei dürfen aber die alten, schlechten
Attribute wie Downtimes und schlechte skalier und wartbarkeit kein Problem
mehr sein.


>wärs
> langsam wirklich nett wenn du wo ein komplettes Konzept bzw.

Sorry, das ist etwas zu umfangreich ;d

--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: [PERFORM] "Big O" notation for postgres?

Jonah H. Harris wrote:
> On Wed, May 21, 2008 at 10:10 AM, H. Hall <hhall1001@reedyriver.com> wrote:
>> Does anyone know if there is a source that provides "Big O" notation for
>> postgres's aggregate functions and operations? For example is count(*) =
>> O(1) or O(n)?
>
> I don't know of any document containing the complexity of each
> aggregate, but it's sometimes left as a comment in the souce code.

Recent max() and min() can be O(n) or O(1) depending on the where-clause
and presence of an index too, just to muddy the waters.

--
Richard Huxton
Archonet Ltd

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Re: [HACKERS] [PATCHES] WITH RECURSIVE patch V0.1

Hi,

From: David Fetter <david@fetter.org>
Subject: Re: [HACKERS] [PATCHES] WITH RECURSIVE patch V0.1
Date: Mon, 19 May 2008 04:36:30 -0700

> > > I think it's the other way around. The server should not emit
> > > infinite number of records.
> >
> > How about adding new GUC parameter "max_recursive_call"?
>
> Couldn't we just have it pay attention to the existing
> max_stack_depth?

Recursive query does not consume stack. The server enters an infinite
loop without consuming stack. Stack-depth error does not happen.

Regards,
--
Yoshiyuki Asaba
y-asaba@sraoss.co.jp

--
Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches

Re: [pgadmin-support] Support Request: Database connection from the command line

Kevin O'Neill has pointed me in the right direction with just using pgsql. I've got it working now. Thank you all for your help.

Stuart

On Wed, May 21, 2008 at 12:18 PM, Dave Page <dpage@pgadmin.org> wrote:
On Wed, May 21, 2008 at 10:30 AM, Stuart Gundry
<stuart.gundry@googlemail.com> wrote:
> Hello all,
>
> This feels like I'm spamming you and if I've misread how I'm meant to
> request help then I'm sorry for any inconvience.

Nope, this is perfectly fine.

> My problem is that I want to connect to a local database using the
> commandline. I've tried 'starting service' but I still can't access my
> database unless I go in to the pgadmin application and click on the database
> (It has a little red cross next to it until I do). Is there a way of getting
> around this?

What command line options have you tried exactly? They're documented
at http://www.pgadmin.org/docs/1.8/commandline.html

I'm not clear what you mean by 'starting service'


--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com

Re: [PERFORM] "Big O" notation for postgres?

On Wed, May 21, 2008 at 10:10 AM, H. Hall <hhall1001@reedyriver.com> wrote:
> Does anyone know if there is a source that provides "Big O" notation for
> postgres's aggregate functions and operations? For example is count(*) =
> O(1) or O(n)?

I don't know of any document containing the complexity of each
aggregate, but it's sometimes left as a comment in the souce code.

IIRC, COUNT (non-distinct) is currently O(n), where n also includes
evaluation of tuples not represented in the final count (due to
Postgres' MVCC design).

--
Jonah H. Harris, Sr. Software Architect | phone: 732.331.1324
EnterpriseDB Corporation | fax: 732.331.1301
499 Thornall Street, 2nd Floor | jonah.harris@enterprisedb.com
Edison, NJ 08837 | http://www.enterprisedb.com/

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Re: [PATCHES] libpq Win32 Mutex performance patch

Magnus Hagander wrote:
> Alvaro Herrera wrote:
> > Andrew Chernow wrote:
> > > Tom Lane wrote:
> > >> Silently not locking is surely
> > >> not very safe.
> > >>
> > >
> > > Here is the dump code version of the patch. If anyone wants the
> > > return value idea, let me know.
> >
> > So is this a patch we want applied?
>
> Please see my other thread about libpq thread-locking which should be
> finished before this one, after which this patch will change. So no,
> this is not the version to be applied.

I've applied a version of this to make libpq use CRITICAL_SECTION on
win32.

//Magnus

--
Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches

[COMMITTERS] pgsql: Use CRITICAL_SECTION instead of Mutexes for thread-locking in

Log Message:
-----------
Use CRITICAL_SECTION instead of Mutexes for thread-locking in libpq on
Windows, for better performance.

Per suggestion from Andrew Chernow, but not his patch since the underlying
code was changed to deal with return values.

Modified Files:
--------------
pgsql/src/interfaces/libpq:
pthread-win32.c (r1.16 -> r1.17)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/pthread-win32.c?r1=1.16&r2=1.17)
pgsql/src/port:
pthread-win32.h (r1.4 -> r1.5)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/port/pthread-win32.h?r1=1.4&r2=1.5)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Re: [pgsql-de-allgemein] Tabellen im laufenden Betrieb auf andere Tablespaces verlagern ohne DB-Server Downtime?

Quoting Andreas 'ads' Scherbaum <adsmail@wars-nicht.de>:

> > Es gibt nicht viele Provider die eine redundante Leitung zum DECIX
> > haben, ein Rechenzentrum nach den neuesten Standards und Spitzenhardware
> > zu gue¼nstingen Discountpreisen sowie unlimited Traffic inkl.
>
> Du willst ganz viel Leistung fuer ganz wenig Geld, verstehe.
> Ich enthalte mich weiterer Kommentare.

Wer will das nicht?

> > Doch, tut es, weil PG es nicht selber kann.
> > Es liest beim Start env(PGDATA) aus und erstellt relativ
> > dazu ein Verzeichnis "mydd_name" und setzt die FS Rechte
> > und Ownership auf postgres.postres. Danach connected
> > es sich selbst auf die DB und legt die Tablespaces
> > mit CREATE TABLESPACE in dem vorher erstellten Verzeichnis
> > an. Dies ist schon deswegen notwendig, da PG für CREATE
> > TABLE Spaces nun einmal einen existenten Ordner verlangt.
>
> [X] Du hast Tablespaces nicht verstanden.
>
> *Grusel* Bitte beschäftige dich erst mit einem Thema, bevor du
> versuchst, selbiges einzusetzen.

Also nun frage ich mich ob Du die Doku von der Du dauernd
redest wirklich verstanden hast.

Lies mal besser selber:
http://www.postgresql.org/docs/8.0/interactive/sql-createtablespace.html

Da steht:
Examples

CREATE TABLESPACE dbspace LOCATION '/data/dbs';

Genau das führt mein Programm aus, nur der Parameter
LOCATION eben $PGDATA/mylocation entspricht.

Was soll denn daran bitte schoen falsch sein?
Möglicherweise hast Du ja auch etwas nicht richtig verstanden,
man lernt nie aus ;d

> > Weil es nun mal so ist und ohne Downtime funktionieren muss, ganz
> > einfach, das ist die Anforderung!
>
> "Ohne Downtime" kann nicht die einzige Anforderung sein.

Downtime bedeutet Verlust von Geld. Daher ist es eigentlich recht
logisch das man sie versucht so gut es geht zu vermeiden. Natürlich
ist das die wirtschaftliche Seite, aber die ist eben auch
wichtig.

> > Downtimes und schlechte Performance bei konstanten sowie stark
> > wachsenden Userzahlen sind ein KO Kriterium und no go das unbedingt
> > vermieden werden muss und daher ist es Gegenstand der aktuellen
> Planspiele.
>
> Marketing ...

Tja, für irgendwen entwickelt man seine Software als Softwareentwickler
nun mal, am liebsten fue diejenigen Kunden die auch bereit sind
dafuer zu zahlen und fuer Binsenweisheiten zahlen die Leute nun mal
nicht viel.

> > ein verteiltes Szenario ist aber ein interessanter Gedanke, nur scheinen
> > 80 GByte Server Festplatte dabei trotzdem zu wenig, gerade wenn eine
> > Tabelle schon über 450 GByte gross ist und stark weiter wächst.
>
> Ich erinnere dich mal an deine eigenen Aussagen, dass du Terabyte bzw.
> Exobyte an Daten ablegen wolltest. Da sind auch Festplatten mit 450 GB

Ich sprach davon das eine bestimmte Tabelle bereits die Marke von
450 GByte erreicht hat und das Oracle 8 Exobate an Daten verwalten kann.

Un nun bleib mal locker;D

--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: [pgsql-de-allgemein] Tabellen im laufenden Betrieb auf andere Tablespaces verlagern ohne DB-Server Downtime?

Quoting Andreas 'ads' Scherbaum <adsmail@wars-nicht.de>:

> > Es gibt nicht viele Provider die eine redundante Leitung zum DECIX
> > haben, ein Rechenzentrum nach den neuesten Standards und Spitzenhardware
> > zu gue¼nstingen Discountpreisen sowie unlimited Traffic inkl.
>
> Du willst ganz viel Leistung fuer ganz wenig Geld, verstehe.
> Ich enthalte mich weiterer Kommentare.

Wer will das nicht?

> > Doch, tut es, weil PG es nicht selber kann.
> > Es liest beim Start env(PGDATA) aus und erstellt relativ
> > dazu ein Verzeichnis "mydd_name" und setzt die FS Rechte
> > und Ownership auf postgres.postres. Danach connected
> > es sich selbst auf die DB und legt die Tablespaces
> > mit CREATE TABLESPACE in dem vorher erstellten Verzeichnis
> > an. Dies ist schon deswegen notwendig, da PG für CREATE
> > TABLE Spaces nun einmal einen existenten Ordner verlangt.
>
> [X] Du hast Tablespaces nicht verstanden.
>
> *Grusel* Bitte beschäftige dich erst mit einem Thema, bevor du
> versuchst, selbiges einzusetzen.

Also nun frage ich mich ob Du die Doku von der Du dauernd
redest wirklich verstanden hast.

Lies mal besser selber:
http://www.postgresql.org/docs/8.0/interactive/sql-createtablespace.html

Da steht:
Examples

CREATE TABLESPACE dbspace LOCATION '/data/dbs';

Genau das führt mein Programm aus, nur der Parameter
LOCATION eben $PGDATA/mylocation entspricht.

Was soll denn daran bitte schoen falsch sein?
Möglicherweise hast Du ja auch etwas nicht richtig verstanden,
man lernt nie aus ;d

> > Weil es nun mal so ist und ohne Downtime funktionieren muss, ganz
> > einfach, das ist die Anforderung!
>
> "Ohne Downtime" kann nicht die einzige Anforderung sein.

Downtime bedeutet Verlust von Geld. Daher ist es eigentlich recht
logisch das man sie versucht so gut es geht zu vermeiden. Natürlich
ist das die wirtschaftliche Seite, aber die ist eben auch
wichtig.

> > Downtimes und schlechte Performance bei konstanten sowie stark
> > wachsenden Userzahlen sind ein KO Kriterium und no go das unbedingt
> > vermieden werden muss und daher ist es Gegenstand der aktuellen
> Planspiele.
>
> Marketing ...

Tja, für irgendwen entwickelt man seine Software als Softwareentwickler
nun mal, am liebsten fue diejenigen Kunden die auch bereit sind
dafuer zu zahlen und fuer Binsenweisheiten zahlen die Leute nun mal
nicht viel.

> > ein verteiltes Szenario ist aber ein interessanter Gedanke, nur scheinen
> > 80 GByte Server Festplatte dabei trotzdem zu wenig, gerade wenn eine
> > Tabelle schon über 450 GByte gross ist und stark weiter wächst.
>
> Ich erinnere dich mal an deine eigenen Aussagen, dass du Terabyte bzw.
> Exobyte an Daten ablegen wolltest. Da sind auch Festplatten mit 450 GB

Ich sprach davon das eine bestimmte Tabelle bereits die Marke von
450 GByte erreicht hat und das Oracle 8 Exobate an Daten verwalten kann.

Un nun bleib mal locker;D

--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

[GENERAL] Fwd: sql_type tinterval not supported by DBD::Pg


Hello

[ this was previously sent to dbd-pg mailing list ]


I have a problem with DBD::Pg connecting to postgres 8.2

....
[debug] calling bind_param( 6, '14 days', { 'pg_type' => 704 } )
Cannot bind 6, sql_type tinterval not supported by DBD::Pg




what can this mean?

I would think that both INTERVAL => 1186 and  TINTERVAL => 704  are valid values for bind_param pg_type hash



$ perl -MDBD::Pg -le 'print $DBD::Pg::VERSION'
2.7.2
$ perl -MDBI -le 'print $DBI::VERSION'
1.604


Perl itself is v5.8.8 from Debian etch.




--
Filip Rembiałkowski



Re: [GENERAL] bytea case sensitivity

On May 21, 2008, at 8:23 AM, Sim Zacks wrote:

> We are testing dbmail on postgresql, which uses a bytea column to
> store
> the messages. Because of this searching through messages is case
> sensitive.
>
> Does anyone know of a way to make it not case-sensitive, either by
> changing the data type (obviously without breaking the current
> functionality) or a Select Rule or any other method?


My suggestion would be to write a trigger and use tsearch to setup a
full text index. Even if you manage a case-insensitive search method,
I doubt it will be useful unless you always plan to have a small
number of messages to search.

John DeSoi, Ph.D.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[PERFORM] "Big O" notation for postgres?

Does anyone know if there is a source that provides "Big O" notation for
postgres's aggregate functions and operations? For example is count(*)
= O(1) or O(n)?

Do the developers for postgres use Big O when selecting algorithms? If
so, is the info easily available?

Thanks,
HH


--
H. Hall
ReedyRiver Group LLC
site: reedyriver.com


--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Re: [pgsql-www] manual archive pages not showing the latest version

On Tuesday 20 May 2008 01:32:23 Guido Barosio wrote:
> Is this ok?
>
> I understand that these manual pages are in the *atic*, but it may
> lead to confusion or a complicated experience for the user if they
> miss the actual man pages.
>
> http://www.postgresql.org/docs/manuals/archive.html
>
The alternative being to not show them at all? We have a big disclaimer at
the top, I see no problem with having them online in this way.

--
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL

--
Sent via pgsql-www mailing list (pgsql-www@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-www

Re: [pgsql-www] Korean Postgres web site is a bad URL

On Monday 19 May 2008 10:43:32 Bruce Momjian wrote:
> I am getting a 404 from the Korean Postgres web site listed on our web
> site:
>
>

http://www.postgresql.org/community/international
>
> The bad link is:
>
>

http://www.ebcom.co.kr/ebcom/case3.html
>
> I hear the site can be accessed from some places outside the USA.
>
> Is this a better URL?
>
>

http://postgresql.kr/
>

I guess it is better in the sense that it resolves. :-)

> Does anyone have a Korean contact we can ask?
>

I am CC'ing the original link owner to see what response we get. If we don't
get a response I suppose we should change it, though it might not hurt to
poke -general I guess.

--
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL

--
Sent via pgsql-www mailing list (pgsql-www@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-www

Re: [pgsql-de-allgemein] Tabellen im laufenden Betrieb auf andere Tablespaces verlagern ohne DB-Server Downtime?

Hallo Rudi,

rudi@je-more.de wrote:
> Ich mache mir keine Gedanken über Loadbalancing, sondern habe es schon
> in meine Applicationabfrage Architektur implementiert. Normale,
> preiswerte Rootserver haben nun mal nicht besonders grosse Festplatten,
> sie reichen aber aus um einen guten Start für wenig Geld hinzulegen.

Kann Sequoia nicht sowas wie RAIDb 1+0 oder 0+1? Oder was ist RAIDb-2
von Sequoia? Schau mal hier [1].

Mir ist nicht klar, wie Du mit Tablespaces eine hoehere Verfuegbarkeit
erreichen willst. Eher das Gegenteil scheint mir der Fall zu sein:
sobald Du Tablespaces auf anderen Systemen baust, erhoehst Du die Zahl
der moeglichen Fehlerquellen - und verringerst somit die Verfuegbarkeit.

> Engpass ist jetzt halt einfach die Festplatte pro Server.
> Eine Verteilte Architektur mit DB-Server für spezielle Aufgaben
> wäre zwar wünschenswert, aber auch schwerer zu balancen, zu spiegeln,
> zu sichern und insgesammt schwerer zu warten, da es hier einfach mehr
> Komplexität hat.

Ja, ja, all die Probleme, die multi-master replication mit sich bringt...

Markus


[1]: Die RAIDb Levels von Sequoia:
http://sequoia.continuent.org/doc/2.10/userGuide/ar01s09.html#raidb2


--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: [HACKERS] idea: storing view source in system catalogs

On Wed, May 21, 2008 at 7:56 AM, Hannu Krosing <hannu@krosing.net> wrote:
> On Wed, 2008-05-21 at 10:40 +0200, Andreas Pflug wrote:
>> Florian Pflug wrote:
>> >
>> > But maybe you could store the whitespace appearing before (or after?)
>> > a token in the parse tree that is stored for a view. That might not
>> > allow reconstructing the *precise* statement, but at least the
>> > reconstructed statement would preserve newlines and indention - which
>> > probably is the whole reason for wanting to store the original
>> > statement in the first place, no? I
>>
>>
>> Not the whole reason. To get a view definition that is more readable,
>> the pretty_bool option of pg_get_viewdef already does some newline and
>> indent formatting. Not the initial formatting, but Good Enough (TM), I
>> believe.
>>
>> What's really lost is any comment that might have existed in the initial
>> source. I previously had the idea to invent comment nodes, but never
>> came to implement them.
>
> Is'nt a view roughly equivalent to a SQL language FUNCTION with no
> arguments and a single select.
>
> If it is so, then I can't see, why we can store the source for functions
> but not for VIEWs

That's what I'm saying. The behavior is a little different however.
If you rename a column from under a function it will fail the next
time the plan is generated while a view will track the column name in
terms of how the view is defined to the backend.

In other words, you can leave the function body alone because changing
a column underlying a function has no side affects on the function
body itself. It is blindly reapplied by the backend each time it's
parsed and planned. So in a sense the function body stored in prosrc
will never diverge from the parsed function since the parsed version
is temporary.

Views are different. They are parsed and the parsed version is stored
in permanent fashion. Your comments would be right on the money if
the view was re-parsed in each session...for things to work that way
we would have to give up rename tracking of views.

For the record, I think function behavior is better (i.e. not
automatic name tracking on rename). In my ideal world, if I make
alter table DDL, I would prefer to have all dependent objects recheck
their source sql vs. the database and alert me of errors. This seems
a better way to double check for dba mistakes although column rename
can become a pain. However, I add columns, etc to tables _much_ more
frequently than I rename them.

merlin

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Re: [pgsql-es-ayuda] Consulta NLS

On Wed, May 21, 2008 at 7:38 AM, Luis Guevara <luis.a.guevara@gmail.com> wrote:
> xcen > esRGoogle
>>
>> Buenas lista!
>>
>> Mi consulta es, una vez que tengo instalado PostgreSQL y con bases de
>> datos corriendo, como hago para utilizar la opcion NLS (Native
>> Language Support) y que me tire los mensajes de error, etc. en el
>> lenguaje de mi OS, que es español???
>>
>> Saludos,
>>
>> Juan
>
> AFAIK debes debes usar configure nuevamente
>

sip, NLS solo afecta a los binarios y no a la data asi que solo se
necesita recompilar:

./configure --tus_opciones_anteriores --enable-nls
make
su root
make install

o en windows, imagino que bastaria con volver a ejecutar el instalador
sin que instale la carpeta data ni inicializar el cluster

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Guayaquil - Ecuador
Cel. (593) 087171157
--
TIP 5: ¿Has leído nuestro extenso FAQ?

http://www.postgresql.org/docs/faqs.FAQ.html

[ADMIN] v8.2.6->8.2.7 upgrade renamed /var/lib/pgsql

To all,

 

I just applied the v8.2.7 upgrade (from v8.2.6) on and FC8 server via yum.  The upgrade went OK, but the /var/lib/pgsql directory (with the existing data) was renamed to /var/lib/pgsql.old and a new (and empty) /var/lib/pgsql directory was created.

 

Does anyone know why this would have happened? 

 

The particular machine is an FC8, dual core AMD DELL with 4GB RAM running the x86_64 pg binaries.

 

I applied the same update (v8.2.6->8.2.7) to an FC7 Pentium4 box running the 32-bit pg binaries and did not have to rename the /var/lib/pgsql directories.

 

Has anyone else run into this?

 

Thanks, in advance,

 

Gord

 

Re: [HACKERS] plpgsql: penalty due to double evaluation of parameters

Hi,

I don't buy the performance argument unless I see some test results demonstrating it; exec_prepare_plan is only called on the first invocation of a statement. What kind of side-effects could exec_eval_datum call have?


Note that I have avoided using the "performance" word for this very reason. But consider for example when the datum type is PLPGSQL_DTYPE_REC. I dont think its justified to have the overhead of heap_copytuple_with_tuple, when all we need is just the typeid! Similar arguments apply for other datums like PLPGSQL_DTYPE_ROW, PLPGSQL_DTYPE_TRIGARG e.g.

Regards,
Nikhils
--
EnterpriseDB http://www.enterprisedb.com

Re: [GENERAL] best er modeling tool for postgreSQL

Thanks for posting this. I had been using DB Designer 4 which has tons
of bugs in it. Power Architect is pretty nice.


Jon
> -----Original Message-----
> From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-
> owner@postgresql.org] On Behalf Of Thomas Kellerer
> Sent: Wednesday, May 21, 2008 2:01 AM
> To: pgsql-general@postgresql.org
> Subject: Re: [GENERAL] best er modeling tool for postgreSQL
>
> Enrico SABBADIN, 20.05.2008 15:13:
> > Hi, I'm evaluating different er modeling tools .. I have to support
the
> > same logical db on postgresql and sqlserver ..
> >
> > All tools I tried so far ignore the schema information .. all tables
end
> > up living in the default schema.
> Have a look at Power*Architect it's OpenSource and free. I have played
> around with it a bit and it looks quite nice. You can define a schema
when
> creating the DDL
>
> http://www.sqlpower.ca/page/architect
>
> Printing is a pain though (doesn't remember page settings, but the
print
> out is OK)
>
> Regards
> Thomas
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Re: [PERFORM] Posible planner improvement?

Luke Lonergan wrote:
> The problem is that the implied join predicate is not being
> propagated. This is definitely a planner deficiency.

IIRC only equality conditions are propagated and gt, lt, between aren't.
I seem to remember that the argument given was that the cost of
checking for the ability to propagate was too high for the frequency
when it ocurred.

Of course, what was true for code and machines of 5 years ago might not
be so today.

--
Richard Huxton
Archonet Ltd

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance