Вопросы по SQL и другие аспекты работы PostgreSQL

warning: Creating default object from empty value in /var/www/victor/web/pgdocs.ru/data/modules/taxonomy/taxonomy.pages.inc on line 33.
Здесь обсуждаются запросы на SQL в PostgreSQL. Оптимизация запросов, реализация, подходы и т.д.

Нумерация колонок таблицы

Всем доброго времени суток!
У меня такой вопрос:
1.При помощи какого цикла можно пронумеровать значения в колонках таблицы?
2.И ещё, я недавно начал работать на этой программе, прошу вас совета, с чего мне начать, какую книгу читать?
Заранее всем благодарен!

Перенос "Заданий" с одного сервера на другой.

Есть несколько созданых "Заданий"(Джобов), и есть два сервера с одинаковыми БД.
Можно ли сделать перенос "Заданий"(Джобов) с одного сервера на другой, к примеру скриптом, или через командную строку?

Заранее извиняюсь, если тема подымалась на форуме, не получилось найти.
Спасибо!

Количество установленных с текущей БД соединений

Как с помощью SQL в функции узнать количество установленных с текущей БД соединений? Можно ли также получить список подсоединенных пользователей?

Функция с запросом из таблицы, указанной в переменной.

Доброго всем времени суток!

Подскажите, есть ли возможность создать функцию с переменными:
1. Имя таблицы, из которой необходимо сделать запрос;
2. входящие значения(например id > 100);
3. исходящие, т.е., например, имя колонки в запросе;

что-то типа такого:
CREATE OR REPLACE FUNCTION test(tabl_name varchar, field_in varchar, field_out varchar)
...
SELECT $3 FROM $1 WHERE $2>100;
...

т.е. объединить два запроса:
1.
SELECT * FROM test() AS (id int,code varchar);

2.
 

Проблема с TABLESPACE

В общем, ситуация такая. При переезде базы на другой сервер нужно было навести порядок в tablespace'ах. Есть специальный tablespace для индексов *_index. Из-за того, что сервера разные по дисковой конфигурации и tablespace'ы реализованы симлинками (т.е. location tablespace'a это папка /opt/.... , которая является симлинком уже на /mnt/... и т.д.) пришлось делать сначала

OPENQUERY

Доброго дня!
Подскажите пожалуйста, существует ли в Postgresql аналог OPENQUERY из MSSQL?
Спасибо

помогите разобраться с pgpool

Есть сервер OPensuse 11.3 на нем postgresql 8.4. с БД с большим количеством таблиц и структурой которая может время от времени меняться. Поставили задачу что бы в случае падения основного сервера можно было продолжить работу на резервном сервере. Решили организовать репликацию пострес базы на основе pgpool. Установили 2-ой сервер с opensuse на нем также постгрес 8.4. на первом сервере установили пакет pgpool II 3.2. начали настройку. по инструкции: http://postgresql.ru.net/docs/pgpool-II.html.
появилась пачка вопросов:

Оператор не существует: interval / interval

Странно, на мой взгляд вполне допустимая операция:
select '00:00:10':: interval / '00:00:02'::interval
по идее должно бы получиться 5, а potgresql ругается:
оператор не существует: interval / interval

Однако:

select extract (epoch from '00:00:10'::interval) / extract (epoch from '00:00:02'::interval)
работает как положено:
результат 5

Помогите с запросом lag

Добрый день! Есть таблица с timestamp'ами.
Нужно сосчитать количество ситуаций, когда ( предыдущая запись - текущая ) < x

Запрос, просто выводящий разницу:
SELECT timestamp - lag(timestamp, 1) over (order by timestamp) as diff from table;

Заранее спасибо!

Частичное "зависание" запроса

Доброе время суток!

Делаю запросы к БД (v 9.1) из PHP 5.2.12. Всё работает нормально. Но недавно заметил странность:

если выполняется "тяжёлый" запрос на обновление/вставку данных в таблицу A, то некоторые запросы к таблице B становятся в "очередь" и ожидают завершение "тяжёлого запроса".

Пример запроса к таблице B:

SELECT uid, name_pers AS name, uid_d_status AS STATUS
FROM person 
WHERE ts_del IS NULL AND login = '$log' AND password = '$pass'

Таблицы А и B имеют внешнюю связь:

  CONSTRAINT A_fk FOREIGN KEY (uid_ins)

Собранный материал

Back to top

(С) Виктор Вислобоков, 2008-2023