Re: The connection to the server was lost. Attempting reset: Failed.

2019-10-10 Thread Jaime Soler
Why don't have a try to gdb ?
https://wiki.postgresql.org/wiki/Developer_FAQ#What_debugging_features_are_available.3F

It might be a extra free memory executions or null pointer accesses .. ,
gdb could help you.

Regards

El jue., 10 oct. 2019 a las 20:01, Yessica Brinkmann (<
yessica.brinkm...@gmail.com>) escribió:

> Thank you very much for the reply.
> Well, really, resetStringInfo () is a function of the StringInfo data
> structure.
> What I used at the end was initStringInfo, which is a function of the data
> structure StringInfoData, which is what I am using, although I don't know
> if they are equivalent.
> The code remained as follows:
>if (cols.len> 0)
>   {
>initStringInfo (& cols);
>} / * IF col.len> 0 * /
> But it continues giving me the same error.
> Best regards,
> Yessica Brinkmann
>
> El jue., 10 oct. 2019 a las 13:33, Yessica Brinkmann (<
> yessica.brinkm...@gmail.com>) escribió:
>
>> Thank you so much for your answer. I will be testing the indicated and
>> then I give you return.
>> Best regards,
>> Yessica Brinkmann
>>
>> El jue., 10 oct. 2019 a las 13:14, Tom Lane ()
>> escribió:
>>
>>> Yessica Brinkmann  writes:
>>> > I really thought a lot, but I don't understand why but the function
>>> fails
>>> > after the expression is executed:
>>> > appendStringInfo (& cols, "% s a.attnum =% d", (i> 0? "OR": ""),
>>> idxcd->
>>> > varattno [i]);
>>>
>>> I think you're probably shooting yourself in the foot here:
>>>
>>> /* pfree() the memory allocated for the previous candidate.
>>> FIXME: Avoid
>>> * meddling with the internals of a StringInfo, and try to
>>> use an API.
>>> */
>>> if( cols.len > 0 )
>>> {
>>> pfree( cols.data );
>>> cols.data = NULL;
>>> } /*IF col.len>0*/
>>>
>>> Don't do that, use resetStringInfo() instead.
>>>
>>> regards, tom lane
>>>
>>


pgbench and timestamps

2020-06-24 Thread Jaime Soler
Hi, does anybody know what is wrong with pgbench in this case ?. Here is a
simple query to generate a random date in a interval time.sql:

 (select timestamp '2005-09-01' + random() * ( timestamp '2006-03-01
00:00:00' -  timestamp '2005-09-01 00:00:00' ));

query executed successfullly with psql

/usr/lib/postgresql/12/bin/psql -p 5432 -h localhost -d picp -U
postgres -f time.sql
BEGIN
 ?column?
--
 2005-11-24 13:22:02.4781
(1 fila)COMMIT

psql (PostgreSQL) 12.3 (Ubuntu 12.3-1.pgdg20.04+1)

but look at what happen with pgbench

pgbench -c 2 -j 2 -M prepared --file time.sql -h localhost -d picp -U
postgres -p 5432
pghost: localhost pgport: 5432 nclients: 2 nxacts: 10 dbName: picp
starting vacuum...ERROR:  no existe la relación «pgbench_branches»
(ignoring this error and continuing anyway)
ERROR:  no existe la relación «pgbench_tellers»
(ignoring this error and continuing anyway)
ERROR:  no existe la relación «pgbench_history»
(ignoring this error and continuing anyway)
end.
client 0 executing script "time.sql"
ERROR:  la sintaxis de entrada no es válida para tipo timestamp:
«2006-03-01 00$1$2»
LINE 1: ...t timestamp '2005-09-01' + random() * ( timestamp '2006-03-0...
 ^
client 0 sending P0_0
client 0 receiving
client 0 receiving
client 0 sending P0_1
client 0 receiving
client 0 receiving
client 0 script 0 aborted in command 1 query 0: ERROR:  no existe la
sentencia preparada «P0_1»
client 1 executing script "time.sql"
ERROR:  la sintaxis de entrada no es válida para tipo timestamp:
«2006-03-01 00$1$2»
LINE 1: ...t timestamp '2005-09-01' + random() * ( timestamp '2006-03-0...
 ^Run was
aborted; the above results are incomplete.

pgbench (PostgreSQL) 12.3 (Ubuntu 12.3-1.pgdg20.04+1)

I don't know why pgbench use  timestamp: «2006-03-01 00$1$2» instead of
timestamp '2006-03-01 00:00:00'

Regards


Re: pgbench and timestamps

2020-06-24 Thread Jaime Soler
Hi,

Thanks for your comments, I worked around that problem because I was able
to truncate the timestamp and use only the date part , alsoit might
works the use of to_timestamp.  But I would like to understand what is
happening , I realized that pgbench is identified erroneously  the minutes
and seconds parts :00:00 as two variables .

Regards

El mié., 24 jun. 2020 a las 14:50, David Rowley ()
escribió:

> On Wed, 24 Jun 2020 at 20:41, Jaime Soler  wrote:
> >
> > Hi, does anybody know what is wrong with pgbench in this case ?. Here is
> a simple query to generate a random date in a interval time.sql:
> >
> >  (select timestamp '2005-09-01' + random() * ( timestamp '2006-03-01
> 00:00:00' -  timestamp '2005-09-01 00:00:00' ));
> > pgbench -c 2 -j 2 -M prepared --file time.sql -h localhost -d picp -U
> postgres -p 5432
> > ERROR:  la sintaxis de entrada no es válida para tipo timestamp:
> «2006-03-01 00$1$2»
> >
> > I don't know why pgbench use  timestamp: «2006-03-01 00$1$2» instead of
> timestamp '2006-03-01 00:00:00'
>
> I've not debugged it, but it looks like pgbench thinks that :00 is a
> pgbench variable and is replacing each instance with a query
> parameter.
>
> https://www.postgresql.org/docs/12/pgbench.html says:
>
> "There is a simple variable-substitution facility for script files.
> Variable names must consist of letters (including non-Latin letters),
> digits, and underscores. Variables can be set by the command-line -D
> option, explained above, or by the meta commands explained below. In
> addition to any variables preset by -D command-line options, there are
> a few variables that are preset automatically, listed in Table 257. A
> value specified for these variables using -D takes precedence over the
> automatic presets. Once set, a variable's value can be inserted into a
> SQL command by writing :variablename. When running more than one
> client session, each session has its own set of variables. pgbench
> supports up to 255 variable uses in one statement."
>
> I don't often do much with pgbench and variables, but there are a few
> things that surprise me here.
>
> 1) That pgbench replaces variables within single quotes, and;
> 2) that we still think it's a variable name when it starts with a digit,
> and;
> 3) We replace variables that are undefined.
>
> I won't pretend to be familiar enough with pgbench internals to know
> if there's any reasonable reasons why we do each of the above, but...
>
> I guess you could work around this problem by just not putting the
> midnight time in your timestamp. However, that might not work so well
> if you want to specify a time other than midnight.
>
> David
>


Re: pgbench and timestamps

2020-06-25 Thread Jaime Soler
Thanks for your analysis.


Regards

El mié., 24 jun. 2020 a las 17:17, Tom Lane () escribió:

> I wrote:
> > David Rowley  writes:
> >> I don't often do much with pgbench and variables, but there are a few
> >> things that surprise me here.
> >> 1) That pgbench replaces variables within single quotes, and;
> >> 2) that we still think it's a variable name when it starts with a
> digit, and;
> >> 3) We replace variables that are undefined.
>
> > Also (4) this only happens when in non-simple query mode --- the
> > example works fine without "-M prepared".
>
> After looking around in the code, it seems like the core of the issue
> is that pgbench.c's parseQuery() doesn't check whether a possible
> variable name is actually defined, unlike assignVariables() which is
> what does the same job in simple query mode.  So that explains the
> behavioral difference.
>
> The reason for doing that probably was that parseQuery() is run when
> the input file is read, so that relevant variables might not be set
> yet.  We could fix that by postponing the work to be done at first
> execution of the query, as is already the case for PQprepare'ing the
> query.
>
> Also, after further thought I realize that (1) absolutely is a bug
> in the non-simple query modes, whatever you think about it in simple
> mode.  The non-simple modes are trying to pass the variable values
> as extended-query-protocol parameters, and the backend is not going
> to recognize $n inside a literal as being a parameter.
>
> If we fixed (1) and (3) I think there wouldn't be any great need
> to tighten up (2).
>
> regards, tom lane
>


Re: Getting started with first user.

2018-01-09 Thread Jaime Soler
please try su postgres -c 'createuser -U postgres me' or change auth method
in your pg_hba.conf



2018-01-09 10:48 GMT+01:00 Agnar Renolen :

> I have just installed PostGIS (Postgres9.6) on a Debian server using
> apt-get.
>
> But I have problems doing anything:
>
> I installed as root, but trying doing things as my local user "me"
>
> me> createuser me
> createuser: could not connect to database postgres: FATAL: role "me" does
> not exist
>
> Then, trying the same as root, but gettinge the same result.
>
> root> createuser me
> createuser: could not connect to database postgres: FATAL: role "root"
> does not exist
>
> Then trying with the -U postgres option.
>
> root> createuser -U postgres me
> createuser: could not connect to database postgres: FATAL: Peer
> authentication failed for user "postgres"
>
> How do I get started?
>