скриптование psql

djeday84
Дата: 23.01.2015 13:09:41
Коллеги, подскажите какие настройки для psql вы используете ?

очень не хватает функционала вызова скриптов, быстрого вызова скриптов а не \i $SQLPATH\my_query.sql

в oracle это делается через export SQLPATH=my_path а дальше уже вызов скриптов через @

13:08:19 (1)sys@orcl> @io20
Enter value for owner: %
old  14: and owner like '&OWNER'
new  14: and owner like '%'

OWNER               |OBJECT_NAME                             |   L_READS|   P_READS| P_READS_D|P_WRITES_D|     TOTAL
--------------------|----------------------------------------|----------|----------|----------|----------|----------
SYS                 |I_TABSUBPART$_OBJ$                      |       100|         0|         0|         0|     27.88
SYS                 |I_LOB2                                  |    99.997|      .003|         0|         0|      8.66
SYS                 |I_IND1                                  |    99.987|      .013|         0|         0|      8.61
SYS                 |I_INDPART_OBJ$                          |    99.999|      .001|         0|         0|       8.6
SYS                 |I_LOBFRAG$_FRAGOBJ$                     |    99.999|      .001|         0|         0|      8.55
SYS                 |I_TABPART_OBJ$                          |    99.998|      .002|         0|         0|      5.15
SYS                 |OBJ$                                    |    97.132|     2.682|         0|      .186|      4.93
SYS                 |TYPE_MISC$                              |    96.268|     3.732|         0|         0|      3.82
SYS                 |I_HH_OBJ#_INTCOL#                       |     99.68|       .32|         0|         0|       2.4
SYS                 |I_OBJ#                                  |    99.872|      .128|         0|         0|      2.24
SYS                 |I_OBJ#_INTCOL#                          |    99.958|      .042|         0|         0|      2.22
SYS                 |HISTGRM$                                |    97.448|     2.552|         0|         0|      1.74
SYS                 |SEG$                                    |     99.16|       .84|         0|         0|      1.36
SYS                 |I_OBJ2                                  |    93.927|     6.073|         0|         0|      1.24
SYS                 |HIST_HEAD$                              |    98.947|     1.053|         0|         0|       1.2
SYS                 |I_OBJ1                                  |    97.388|     2.612|         0|         0|      1.16
SYS                 |AUD_OBJECT_OPT$                         |    99.928|      .072|         0|         0|      1.03
SYS                 |I_CCOL1                                 |     99.66|       .34|         0|         0|       .65
SYS                 |CDEF$                                   |    98.231|     1.769|         0|         0|       .63
SYS                 |I_ICOL1                                 |    99.738|      .262|         0|         0|        .6
daevy
Дата: 23.01.2015 15:39:47
djeday84
очень не хватает функционала вызова скриптов, быстрого вызова скриптов а не \i $SQLPATH\my_query.sql
в oracle это делается через export SQLPATH=my_path а дальше уже вызов скриптов через @


попробуйте через \set переменные в .psqlrc
например так:
\set activity 'select pid,datname,usename,application_name,client_addr,(now() - xact_start) as runtime, (now() - state_change) as state_change,waiting,state,query from pg_stat_activity where pid != pg_backend_pid()'

затем в psql
> :activity ;
  pid  | datname  | usename  | application_name | client_addr |     runtime     |  state_change   | waiting | state  |        query         
-------+----------+----------+------------------+-------------+-----------------+-----------------+---------+--------+----------------------
 28870 | postgres | postgres | psql             |             | 00:00:07.986352 | 00:00:01.025148 | f       | active | select pg_sleep(30);
djeday84
Дата: 23.01.2015 16:57:51
daevy
djeday84
очень не хватает функционала вызова скриптов, быстрого вызова скриптов а не \i $SQLPATH\my_query.sql
в oracle это делается через export SQLPATH=my_path а дальше уже вызов скриптов через @


попробуйте через \set переменные в .psqlrc
например так:
\set activity 'select pid,datname,usename,application_name,client_addr,(now() - xact_start) as runtime, (now() - state_change) as state_change,waiting,state,query from pg_stat_activity where pid != pg_backend_pid()'

затем в psql
> :activity ;
  pid  | datname  | usename  | application_name | client_addr |     runtime     |  state_change   | waiting | state  |        query         
-------+----------+----------+------------------+-------------+-----------------+-----------------+---------+--------+----------------------
 28870 | postgres | postgres | psql             |             | 00:00:07.986352 | 00:00:01.025148 | f       | active | select pg_sleep(30);


То что нужно ! Спасибо !
Misha Tyurin
Дата: 26.01.2015 23:40:03
еще по теме

Переменные в SQL-скриптах:
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=588632&msg=12487461