Скажите пожалуйста, как вытянуть данные из xml-файла? ну, грубо говоря, превратить в таблицу? и если есть ссылочки, где про это понятно написано, буду признателен. спасибо.
Какова «стоимость» открытия нового соединения к PostgreSQL?
Как можно ускорить открытие соединения?

Скажите, а что выводит за бурду Postgresql-8.3 при наборе команды
select tablename from tablename;
там типа содержимое всей таблицы в скобках
Это осмысленное что-то, или каша?
Не получается дать права пользователю в группе.
Что делаю (использую ems manager 2007):
1) Создаю группу, даю ей права (например, на select таблицы test)
2) Создаю пользователя, заношу его в группу
В группе появляется юзер, пишется все как надо, мол в группе 1 пользователь. Но так получается, что права группы не даются пользователю (т.е. он остается бесправным). А если руками права дать (в группу не вносить), то все нормально. Где тут могут быть камни?
P.S. В pgAdmin'e тоже самое - показывается что пользователь в группе есть, права у группы выставлены, а работать не хотит((
Мне нужно сделать так, чтобы пользователь мог получить доступ только к строкам, созданным им самим.
Другими словами:
1) Регистрируется пользователь.
2) Он получает доступ на добавление строк в таблицу.
3) Просматривать и редактировать он может только строки, созданные им самим.
Для этого я сделал дополнительный столбец: username
Доступ будет осуществляться через view
SELECT * FROM mytable WHERE mytable.username = pg_catalog.current_user() ;
Здравствуйте!
Перевожу базу на postgresql.
Есть такой запрос для MySQL:
SELECT t.id, t.name, t.size, MIN(p.to_go) AS to_go, COUNT(p.id) as count
FROM torrents t, peers p
WHERE
t.multitracker_on = 1
AND p.torrent = t.id
AND t.ban = 0
AND to_go > 0
GROUP BY p.torrent
ORDER BY added DESC
LIMIT 10
При его выполнении на postgresql выдаёт ошибку: ERROR: колонка "t.id" должна фигурировать в выражении GROUP BY или использоваться в агрегатной функции
Добавил MIN(t.id) вместо t.id, возникает та же ошибка, только для другого поля.
Доброго времени суток.
У меня появилась проблема с БД Postgre. Возникла необходимость сделать web интерфейс для базы данных. Его я выполнил ввиде связки Apache + PHP + PostgreSQL на winXP.
Сервер проверил - все работает. Попытался вывести данные с таблицы путем применения кода:
<?php
// database access parameters
// alter this as per your configuration
$host = "192.168.*.*";
$user = "user_ro";
$pass = "123456";
$db = "S_RO";
// open a connection to the database server ?>
Проблема:
Есть функция, которая создаёт 2 таблицы
create table a1... // удачно
create table a2... // возможна неудача
Предположительно, второй запрос выдаст ошибку. Тогда необходимо откатить создание таблицы a1.
Вопрос: поддерживает ли Postgrя откат транзакций, внутри которых был использован DDL? Откатится операция создания таблицы a1 из примера выше или нет, если она была внутри активной транзакции?
Нашел в инете как получить список всех существующих таблиц в базе:
SELECT tablename FROM pg_tables;
А как получить список полей определенной таблицы?
И вообще, где можно почитать про эти служебные таблицы типа pg_tables и за что они отвечают?
Спасибо!
Всем привет!
Только начал изучать postgresql, так что многого еще не знаю, прошу учесть это при ответах)
Дело такое. Функция заполняет таблицу. В функцию передается список полей и список значений (например, передается одно поле и одно значение этого поля для вставки в таблицу). Передается в двух массивах (name - имена полей таблицы, val - массив значений этих полей)
Я так понимаю, делается это примерно так:
CREATE FUNCTION "public"."%funcname%" (name text [15], val text [15]) RETURNS integer AS $body$ BEGIN INSERT INTO %tablename% ( name[1],