Change to "timing on" globally

Change to "timing on" globally

am 05.07.2010 19:00:44 von Balkrishna Sharma

--_0ff6a9ce-98ed-4283-af79-9b2480bc6896_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


I know that we can toggle the timing at session level by using \timing in p=
sql.
Is there a way to set the default to 'timing on' globally across the databa=
se or atleast across all psql statements by a specificied user ?
Thanks=2C-Bala =20
____________________________________________________________ _____
The New Busy is not the too busy. Combine all your e-mail accounts with Hot=
mail.
http://www.windowslive.com/campaign/thenewbusy?tile=3Dmultia ccount&ocid=3DP=
ID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_4=

--_0ff6a9ce-98ed-4283-af79-9b2480bc6896_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable






I know that we can toggle the timing at session level by using \timing in p=
sql.


Is there a way to set the default to 'timing on' gl=
obally across the database or atleast across all psql statements by a speci=
ficied user ?

Thanks=2C
-Bala

/>
The New Busy is not the too busy. Combine all your e-mail accounts =
with Hotmail. e=3Dmultiaccount&ocid=3DPID28326::T:WLMTAGL:ON:WL:en-US:WM_H MP:042010_4' ta=
rget=3D'_new'>Get busy.

=

--_0ff6a9ce-98ed-4283-af79-9b2480bc6896_--

Re: Change to "timing on" globally

am 05.07.2010 19:10:30 von alvherre

Excerpts from Balkrishna Sharma's message of lun jul 05 13:00:44 -0400 20=
10:
>=20
> I know that we can toggle the timing at session level by using \timing =
in psql.
> Is there a way to set the default to 'timing on' globally across the da=
tabase or atleast across all psql statements by a specificied user ?

..psqlrc ?

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

Re: Change to "timing on" globally

am 05.07.2010 21:40:47 von Balkrishna Sharma

--_aab748b3-5cf0-42bd-8aa9-5ad86b924587_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


Thanks. If I want to do at system-wide level=2C where do I store the psqlrc=
file (assuming I want to change the timing behavior system-wide)?
(CentOS 5=2C Postgres 8.4)
$ ./pg_config --sysconfdir/opt/PostgreSQL/8.4/etc/postgresql
But I don't have /opt/PostgreSQL/8.4/etc/postgresql directory. Just creatin=
g the directory and putting a psqlrc file over there does not seem to work.

On a side-note=2C I observered that timing value in ~/.psqlrc was ignored b=
y psql -c "..." command but not by echo "...."|psqlThought it was strange.



> CC: pgsql-admin@postgresql.org
> Subject: Re: [ADMIN] Change to 'timing on' globally
> From: alvherre@commandprompt.com
> To: b_ki@hotmail.com
> Date: Mon=2C 5 Jul 2010 13:10:30 -0400
>=20
> Excerpts from Balkrishna Sharma's message of lun jul 05 13:00:44 -0400 20=
10:
> >=20
> > I know that we can toggle the timing at session level by using \timing =
in psql.
> > Is there a way to set the default to 'timing on' globally across the da=
tabase or atleast across all psql statements by a specificied user ?
>=20
> .psqlrc ?
>=20
> --=20
> Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-admin
=20
____________________________________________________________ _____
Hotmail has tools for the New Busy. Search=2C chat and e-mail from your inb=
ox.
http://www.windowslive.com/campaign/thenewbusy?ocid=3DPID283 26::T:WLMTAGL:O=
N:WL:en-US:WM_HMP:042010_1=

--_aab748b3-5cf0-42bd-8aa9-5ad86b924587_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable






Thanks. If I want to do at system-wide level=2C where do I store the psqlrc=
file (assuming I want to change the timing behavior system-wide)?


=
(CentOS 5=2C Postgres 8.4)

$ ./pg_config=
--sysconfdir
/opt/PostgreSQL/8.4/etc/postgresql

div>
But I don't have =3B/opt/PostgreSQL/8.4/etc/postgresql directo=
ry. Just creating the directory and putting a psqlrc file over there does n=
ot seem to work.


On a side-note=2C =
I observered that timing value in ~/.psqlrc was ignored by psql -c "..." co=
mmand but not by echo "...."|psql
Thought it was strange.
iv>



>=3B CC: pgsql-admin@postg=
resql.org
>=3B Subject: Re: [ADMIN] Change to 'timing on' globally
=
>=3B From: alvherre@commandprompt.com
>=3B To: b_ki@hotmail.com
&=
gt=3B Date: Mon=2C 5 Jul 2010 13:10:30 -0400
>=3B
>=3B Excerpts =
from Balkrishna Sharma's message of lun jul 05 13:00:44 -0400 2010:
>=
=3B >=3B
>=3B >=3B I know that we can toggle the timing at sessio=
n level by using \timing in psql.
>=3B >=3B Is there a way to set th=
e default to 'timing on' globally across the database or atleast across all=
psql statements by a specificied user ?
>=3B
>=3B .psqlrc ?
=
>=3B
>=3B --
>=3B Sent via pgsql-admin mailing list (pgsql-ad=
min@postgresql.org)
>=3B To make changes to your subscription:
>=
=3B http://www.postgresql.org/mailpref/pgsql-admin
=


Hotmail has tools for the New Busy. Search=2C chat and e-mai=
l from your inbox. y?ocid=3DPID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_1' target=3D'_new'>L=
earn more.

=

--_aab748b3-5cf0-42bd-8aa9-5ad86b924587_--

Re: Change to "timing on" globally

am 06.07.2010 16:48:48 von Bruce Momjian

Balkrishna Sharma wrote:
>
> Thanks. If I want to do at system-wide level, where do I store the
> psqlrc file (assuming I want to change the timing behavior system-wide)?

> (CentOS 5, Postgres 8.4)
> $ ./pg_config --sysconfdir/opt/PostgreSQL/8.4/etc/postgresql

> But I don't have /opt/PostgreSQL/8.4/etc/postgresql directory. Just
> creating the directory and putting a psqlrc file over there does not
> seem to work.

I just tested it here on Ubuntu and it worked:

$ sudo mkdir etc
$ sudo mkdir etc/postgresql
$ cd etc/postgresql/
$ sudo vi psqlrc
# add \echo test
$ pwd
/opt/PostgreSQL/8.4/etc/postgresql
$ ../../bin/psql -U postgres postgres
--> test
psql (8.4.2)
Type "help" for help.

postgres=#

> On a side-note, I observered that timing value in ~/.psqlrc was
> ignored by psql -c "..." command but not by echo "...."|psqlThought
> it was strange.

Yeah, that is odd.

--
Bruce Momjian http://momjian.us
EnterpriseDB http://enterprisedb.com

+ None of us is going to be here forever. +

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

Re: Change to "timing on" globally

am 06.07.2010 17:20:52 von Balkrishna Sharma

--_b8345835-e341-4b04-83a3-b28dc25b1ffe_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


> I just tested it here on Ubuntu and it worked:I followed your steps and i=
t worked in the way you indicated=2C on CentOS as well. But it still does n=
ot:a. work with psql -c "query" syntax. (Works in echo mode or in interact=
ive mode.)b. it does not still seem to work if you fire the queries from a =
client box (in any mode - interactive or otherwise)ON SERVER I get:Timing i=
s on. now------------------------------ 2010-07-06 11:06:13.167=
34-04(1 row)Time: 0.574 ms

ON CLIENT I just get: now------------------------------- 2010-=
07-06 11:06:28.455395-04(1 row)

~~~~~~~~~~~~~~~~~~~~Basically I am firing a lot of psql through unix script=
on several client machines and a lot of the psql are hanging for some othe=
r reasons. I also need to capture the timing of each query. So I need timin=
g to be on.
Doing the following captures the timing but I don't know which psql stateme=
nt is hanging when I do ps aux|grep psqlecho '\timing \\select * from ....=
.....' | psqlOn ps aux|grep psql I just see:> ps aux|grep psql2255 0.0 0.0=
155636 1668 pts/1 S Jul05 0:00 psql3883 0.0 0.0 155636 1676 pt=
s/1 S Jul05 0:00 psql4672 0.0 0.0 155636 1672 pts/1 S Jul0=
5 0:00 psql4713 0.0 0.0 155636 1672 pts/1 S Jul05 0:00 psql473=
7 0.0 0.0 155636 1672 pts/1 S Jul05 0:00 psql4798 0.0 0.0 1556=
36 1668 pts/1 S Jul05 0:00 psql5050 0.0 0.0 155636 1676 pts/1 =
S Jul05 0:00 psql5086 0.0 0.0 155636 1668 pts/1 S Jul05 0=
:00 psql5405 0.0 0.0 155636 1668 pts/1 S Jul05 0:00 psql7255 0.=
0 0.0 155644 1796 pts/1 S Jul05 0:00 psql

psql -c 'select * from "DAPP".student_common_data where student_id =3D 100=
0 and field_id =3D1988=3B' does make the ps aux more informative but it do=
es not capture the query timing. From what I understand you cannot mix ('t=
iming + query') in "-c" mode.
So trying to set 'timing on' outside the individual queries (and preferably=
outside the client machines) somewhere on the server so that psql -c on cl=
ient would capture the timing automatically.



> From: bruce@momjian.us
> Subject: Re: [ADMIN] Change to 'timing on' globally
> To: b_ki@hotmail.com
> Date: Tue=2C 6 Jul 2010 10:48:48 -0400
> CC: alvherre@commandprompt.com=3B pgsql-admin@postgresql.org
>=20
> Balkrishna Sharma wrote:
> >=20
> > Thanks. If I want to do at system-wide level=2C where do I store the
> > psqlrc file (assuming I want to change the timing behavior system-wide)=
?
>=20
> > (CentOS 5=2C Postgres 8.4)
> > $ ./pg_config --sysconfdir/opt/PostgreSQL/8.4/etc/postgresql
>=20
> > But I don't have /opt/PostgreSQL/8.4/etc/postgresql directory. Just
> > creating the directory and putting a psqlrc file over there does not
> > seem to work.
>=20
> I just tested it here on Ubuntu and it worked:
>=20
> $ sudo mkdir etc
> $ sudo mkdir etc/postgresql
> $ cd etc/postgresql/
> $ sudo vi psqlrc
> # add \echo test
> $ pwd
> /opt/PostgreSQL/8.4/etc/postgresql
> $ ../../bin/psql -U postgres postgres
> --> test
> psql (8.4.2)
> Type "help" for help.
> =09
> postgres=3D#=20
>=20
> > On a side-note=2C I observered that timing value in ~/.psqlrc was
> > ignored by psql -c "..." command but not by echo "...."|psqlThought
> > it was strange.
>=20
> Yeah=2C that is odd.
>=20
> --=20
> Bruce Momjian http://momjian.us
> EnterpriseDB http://enterprisedb.com
>=20
> + None of us is going to be here forever. +
=20
____________________________________________________________ _____
Hotmail is redefining busy with tools for the New Busy. Get more from your =
inbox.
http://www.windowslive.com/campaign/thenewbusy?ocid=3DPID283 26::T:WLMTAGL:O=
N:WL:en-US:WM_HMP:042010_2=

--_b8345835-e341-4b04-83a3-b28dc25b1ffe_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable






>=3B I just tested it here on Ubuntu and it worked:

I followed your s=
teps and it worked in the way you indicated=2C on CentOS as well. But it st=
ill does not:
a. work with psql -c "query" syntax. (Works  =
=3Bin echo mode or in interactive mode.)
b. it does not still see=
m to work if you fire the queries from a client box (in any mode - interact=
ive or otherwise)
ON SERVER I get:
Timing is on. div>
 =3B =3B  =3B  =3B  =3B  =3B  =3B now<=
/div>
------------------------------
 =3B2010-07-06 11:06=
:13.16734-04
(1 row)
Time: 0.574 ms
>

ON CLIENT I just get:
 =3B&nb=
sp=3B  =3B  =3B  =3B  =3B  =3B  =3Bnow
--=
-----------------------------
 =3B2010-07-06 11:06:28.455395-=
04
(1 row)


~~~~~~~~=
~~~~~~~~~~~~
Basically I am firing a lot of psql through unix scr=
ipt on several client machines and a lot of the psql are hanging for some o=
ther reasons. I also need to capture the timing of each query. So I need ti=
ming to be on.

Doing the following captures the ti=
ming but I don't know which psql statement is hanging when I do ps aux|grep=
psql
echo '\timing \\select * from  =3B........' | psql >
On ps aux|grep psql I just see:
>=3B ps aux|grep psq=
l
2255  =3B0.0  =3B0.0 155636  =3B1668 pts/1  =3B=
 =3BS  =3B  =3BJul05  =3B 0:00 psql
3883  =
=3B0.0  =3B0.0 155636  =3B1676 pts/1  =3B  =3BS  =3B &n=
bsp=3BJul05  =3B 0:00 psql
4672  =3B0.0  =3B0.0 15563=
6  =3B1672 pts/1  =3B  =3BS  =3B  =3BJul05  =3B 0:0=
0 psql
4713  =3B0.0  =3B0.0 155636  =3B1672 pts/1 &nb=
sp=3B  =3BS  =3B  =3BJul05  =3B 0:00 psql
4737 &n=
bsp=3B0.0  =3B0.0 155636  =3B1672 pts/1  =3B  =3BS  =3B=
 =3BJul05  =3B 0:00 psql
4798  =3B0.0  =3B0.0 15=
5636  =3B1668 pts/1  =3B  =3BS  =3B  =3BJul05  =3B =
0:00 psql
5050  =3B0.0  =3B0.0 155636  =3B1676 pts/1 =
 =3B  =3BS  =3B  =3BJul05  =3B 0:00 psql
5086=
 =3B0.0  =3B0.0 155636  =3B1668 pts/1  =3B  =3BS  =
=3B  =3BJul05  =3B 0:00 psql
5405  =3B0.0  =3B0.0=
155636  =3B1668 pts/1  =3B  =3BS  =3B  =3BJul05  =
=3B 0:00 psql
7255  =3B0.0  =3B0.0 155644  =3B1796 pt=
s/1  =3B  =3BS  =3B  =3BJul05  =3B 0:00 psql
>


psql -c 'select * from  =3B"DAPP".s=
tudent_common_data where student_id =3D 1000 and field_id =3D1988=3B'  =
=3Bdoes make the ps aux more informative but it does not capture the query =
timing. From what I understand you cannot mix  =3B('timing + query') in=
"-c" mode.

So trying to set 'timing on' outside t=
he individual queries (and preferably outside the client machines) somewher=
e on the server so that psql -c on client would capture the timing automati=
cally.




>=3B From: bruce@m=
omjian.us
>=3B Subject: Re: [ADMIN] Change to 'timing on' globally
=
>=3B To: b_ki@hotmail.com
>=3B Date: Tue=2C 6 Jul 2010 10:48:48 -040=
0
>=3B CC: alvherre@commandprompt.com=3B pgsql-admin@postgresql.org >>=3B
>=3B Balkrishna Sharma wrote:
>=3B >=3B
>=3B >=
=3B Thanks. If I want to do at system-wide level=2C where do I store the >>=3B >=3B psqlrc file (assuming I want to change the timing behavior s=
ystem-wide)?
>=3B
>=3B >=3B (CentOS 5=2C Postgres 8.4)
>=
=3B >=3B $ ./pg_config --sysconfdir/opt/PostgreSQL/8.4/etc/postgresql
=
>=3B
>=3B >=3B But I don't have /opt/PostgreSQL/8.4/etc/postgresq=
l directory. Just
>=3B >=3B creating the directory and putting a psq=
lrc file over there does not
>=3B >=3B seem to work.
>=3B
&=
gt=3B I just tested it here on Ubuntu and it worked:
>=3B
>=3B =
$ sudo mkdir etc
>=3B $ sudo mkdir etc/postgresql
>=3B $ cd etc=
/postgresql/
>=3B $ sudo vi psqlrc
>=3B # add \echo test
>=
=3B $ pwd
>=3B /opt/PostgreSQL/8.4/etc/postgresql
>=3B $ ../..=
/bin/psql -U postgres postgres
>=3B -->=3B test
>=3B psql (8.4=
..2)
>=3B Type "help" for help.
>=3B
>=3B postgres=3D# r>>=3B
>=3B >=3B On a side-note=2C I observered that timing value=
in ~/.psqlrc was
>=3B >=3B ignored by psql -c "..." command but not=
by echo "...."|psqlThought
>=3B >=3B it was strange.
>=3B
=
>=3B Yeah=2C that is odd.
>=3B
>=3B --
>=3B Bruce Momj=
ian <=3Bbruce@momjian.us>=3B http://momjian.us
>=3B Ente=
rpriseDB http://enterprisedb.com
>=3B
=
>=3B + None of us is going to be here forever. +
<=
br />
Hotmail is redefining busy with tools for the New Busy. Get more=
from your inbox. ?ocid=3DPID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_2' target=3D'_new'>Se=
e how.

=

--_b8345835-e341-4b04-83a3-b28dc25b1ffe_--

Re: Change to "timing on" globally

am 06.07.2010 17:29:12 von Bruce Momjian

Balkrishna Sharma wrote:
>
> > I just tested it here on Ubuntu and it worked:I followed your steps and it worked in the way you indicated, on CentOS as well. But it still does not:a. work with psql -c "query" syntax. (Works in echo mode or in interactive mode.)b. it does not still seem to work if you fire the queries from a client box (in any mode - interactive or otherwise)ON SERVER I get:Timing is on. now------------------------------ 2010-07-06 11:06:13.16734-04(1 row)Time: 0.574 ms
>
> ON CLIENT I just get: now------------------------------- 2010-07-06 11:06:28.455395-04(1 row)
>
> ~~~~~~~~~~~~~~~~~~~~Basically I am firing a lot of psql through unix script on several client machines and a lot of the psql are hanging for some other reasons. I also need to capture the timing of each query. So I need timing to be on.
> Doing the following captures the timing but I don't know which psql statement is hanging when I do ps aux|grep psqlecho '\timing \\select * from ........' | psqlOn ps aux|grep psql I just see:> ps aux|grep psql2255 0.0 0.0 155636 1668 pts/1 S Jul05 0:00 psql3883 0.0 0.0 155636 1676 pts/1 S Jul05 0:00 psql4672 0.0 0.0 155636 1672 pts/1 S Jul05 0:00 psql4713 0.0 0.0 155636 1672 pts/1 S Jul05 0:00 psql4737 0.0 0.0 155636 1672 pts/1 S Jul05 0:00 psql4798 0.0 0.0 155636 1668 pts/1 S Jul05 0:00 psql5050 0.0 0.0 155636 1676 pts/1 S Jul05 0:00 psql5086 0.0 0.0 155636 1668 pts/1 S Jul05 0:00 psql5405 0.0 0.0 155636 1668 pts/1 S Jul05 0:00 psql7255 0.0 0.0 155644 1796 pts/1 S Jul05 0:00 p
sql
>
> psql -c 'select * from "DAPP".student_common_data where student_id = 1000 and field_id =1988;' does make the ps aux more informative but it does not capture the query timing. From what I understand you cannot mix ('timing + query') in "-c" mode.
> So trying to set 'timing on' outside the individual queries (and preferably outside the client machines) somewhere on the server so that psql -c on client would capture the timing automatically.

I think you need to look at postgresql.conf variables like
log_min_duration_statement, and you are right that psqlrc is only going
to be read for clients on the server machine, and only via psql.

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


>
>
>
> > From: bruce@momjian.us
> > Subject: Re: [ADMIN] Change to 'timing on' globally
> > To: b_ki@hotmail.com
> > Date: Tue, 6 Jul 2010 10:48:48 -0400
> > CC: alvherre@commandprompt.com; pgsql-admin@postgresql.org
> >
> > Balkrishna Sharma wrote:
> > >
> > > Thanks. If I want to do at system-wide level, where do I store the
> > > psqlrc file (assuming I want to change the timing behavior system-wide)?
> >
> > > (CentOS 5, Postgres 8.4)
> > > $ ./pg_config --sysconfdir/opt/PostgreSQL/8.4/etc/postgresql
> >
> > > But I don't have /opt/PostgreSQL/8.4/etc/postgresql directory. Just
> > > creating the directory and putting a psqlrc file over there does not
> > > seem to work.
> >
> > I just tested it here on Ubuntu and it worked:
> >
> > $ sudo mkdir etc
> > $ sudo mkdir etc/postgresql
> > $ cd etc/postgresql/
> > $ sudo vi psqlrc
> > # add \echo test
> > $ pwd
> > /opt/PostgreSQL/8.4/etc/postgresql
> > $ ../../bin/psql -U postgres postgres
> > --> test
> > psql (8.4.2)
> > Type "help" for help.
> >
> > postgres=#
> >
> > > On a side-note, I observered that timing value in ~/.psqlrc was
> > > ignored by psql -c "..." command but not by echo "...."|psqlThought
> > > it was strange.
> >
> > Yeah, that is odd.
> >
> > --
> > Bruce Momjian http://momjian.us
> > EnterpriseDB http://enterprisedb.com
> >
> > + None of us is going to be here forever. +
>
> ____________________________________________________________ _____
> Hotmail is redefining busy with tools for the New Busy. Get more from your inbox.
> http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326 ::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_2
--
Bruce Momjian http://momjian.us
EnterpriseDB http://enterprisedb.com

+ None of us is going to be here forever. +

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