kamctl.pgsql 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #
  2. #
  3. # control tool for maintaining Kamailio
  4. #
  5. #===================================================================
  6. ##### ----------------------------------------------- #####
  7. ### PGSQL specific variables and functions
  8. #
  9. ##### ----------------------------------------------- #####
  10. ### load SQL base
  11. #
  12. if [ -f "$MYLIBDIR/kamctl.sqlbase" ]; then
  13. . "$MYLIBDIR/kamctl.sqlbase"
  14. else
  15. echo "Cannot load SQL core functions '$MYLIBDIR/kamctl.sqlbase' - exiting ..."
  16. exit -1
  17. fi
  18. ##### ----------------------------------------------- #####
  19. ### binaries
  20. if [ -z "$PGSQL" ] ; then
  21. if [ -z "$DBCLI" ] ; then
  22. locate_tool psql
  23. if [ -z "$TOOLPATH" ] ; then
  24. echo "error: 'psql' tool not found: set PGSQL variable to correct tool path"
  25. exit
  26. fi
  27. PGSQL="$TOOLPATH"
  28. else
  29. PGSQL="$DBCLI"
  30. fi
  31. fi
  32. # input: sql query, optional pgsql command-line params
  33. pgsql_query() {
  34. # if password not yet queried, query it now
  35. prompt_pw "PgSQL password for user '$DBRWUSER@$DBHOST'"
  36. mecho "pgsql_query: $PGSQL $2 -A -q -t -P fieldsep=' ' -h $DBHOST -U $DBRWUSER $DBNAME -c '$1'"
  37. if [ -z "$DBPORT" ] ; then
  38. PGPASSWORD="$DBRWPW" $PGSQL $DBCLIPARAMS $2 \
  39. -A -q -t \
  40. -P fieldsep=" " \
  41. -h $DBHOST \
  42. -U $DBRWUSER \
  43. $DBNAME \
  44. -c "$1"
  45. else
  46. PGPASSWORD="$DBRWPW" $PGSQL $DBCLIPARAMS $2 \
  47. -A -q -t \
  48. -P fieldsep=" " \
  49. -h $DBHOST \
  50. -p $DBPORT \
  51. -U $DBRWUSER \
  52. $DBNAME \
  53. -c "$1"
  54. fi
  55. }
  56. # input: sql query, optional pgsql command-line params
  57. pgsql_ro_query() {
  58. mdbg "pgsql_ro_query: $PGSQL $2 -A -q -t -h $DBHOST -U $DBROUSER $DBNAME -c '$1'"
  59. if [ -z "$DBPORT" ] ; then
  60. PGPASSWORD="$DBROPW" $PGSQL $DBCLIPARAMS $2 \
  61. -A -q -t \
  62. -h $DBHOST \
  63. -U $DBROUSER \
  64. $DBNAME \
  65. -c "$1"
  66. else
  67. PGPASSWORD="$DBROPW" $PGSQL $DBCLIPARAMS $2 \
  68. -A -q -t \
  69. -h $DBHOST \
  70. -p $DBPORT \
  71. -U $DBROUSER \
  72. $DBNAME \
  73. -c "$1"
  74. fi
  75. }
  76. DBCMD=pgsql_query
  77. DBROCMD=pgsql_ro_query
  78. DBRAWPARAMS="-A -q -t"