Вопросы по 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. Оптимизация запросов, реализация, подходы и т.д.

Как умножить столбец типа Integer на число 0.2

Помогите столбец типа integer умножить на число 0.2. Значит так, есть таблица студент,с полями..., одно из поля стипендия, так мне надо каждую запись в колонке стипендия умножить на число 0.2 я делал так
SELECT
"STUDENT"."Surname",
"STUDENT"."Name",
"STUDENT"."Stipend"
FROM
public."STUDENT"
WHERE
"STUDENT"."Stipend"= "STUDENT"."Stipend" * 0.2(как тут правильно сделать, описать)
выдает ошибку
ERROR: argument of WHERE must be type boolean, not type numeric
почему тут булеан тип а не integer.

Виснет postgre

Изображение Useful

2010-10-26 19:34:36 MSDLOG: unexpected EOF on client connection
2010-10-26 19:34:36 MSDLOG: could not receive data from client: Unknown winsock error 10061
2010-10-26 19:34:36 MSDLOG: unexpected EOF on client connection
2010-10-26 19:39:38 MSDLOG: server process (PID 1116) was terminated by exception 0xC0000142
2010-10-26 19:39:38 MSDHINT: See C include file "ntstatus.h" for a description of the hexadecimal value.
2010-10-26 19:39:38 MSDLOG: terminating any other active server processes

вопрос по pg_dump

вопрос следующий:можно ли отключить принудительную проверку пароля, либо в какой аргумент включить значение пароля. это необходимо из-за того что я дамп запускаю не через командную строку а из своего приложения

Создание таблицы на основе таблицы из другой базы данных

добрый день. сломал себе всю голову как копировать таблицу из одной базы postgres в другую к примеру postgres1.
Команда COPY TO(FROM) насколько я понял копирует только данные через файл,при этом таблица в которую копируешь должна быть создана. Сам вопрос: как создать новую таблицу на основе таблицы лежащей в другой базе. Заранее благодарен

помогите с примером,при выпонение задания

выполняю пример http://av5.com/journals-magazines-online/1/46/447
написанный для postgresql7.4.2

при выполнение запроса в postgresql 8.4
insert into orders(customer, goods_id, count, price, date)
values('Иванов Иван Иванович', 3, 1, 7302.00, '2004-07-15');

выдает ошибку "ERROR: record "new" is not assigned yet
DETAIL: The tuple structure of a not-yet-assigned record is indeterminate.
CONTEXT: PL/pgSQL function "trigger_sl" line 14 at SQL statement"

Создание триггерной функции!

Привет всем!

У меня PostgreSQL 8.4.

Ну ни как не могу создать триггерную функцию!
Создаю в pgAdmin III и даже с помощю запроса - выдает ошибку!


CREATE FUNCTION "SetUserID"() RETURNS TRIGGER AS '
NEW.UserID=md5(to_char(current_timestamp, "DD.MM.YYYY HH24:MI:SS:MS")||NEW.Surname||NEW.Name)
return NEW
'
LANGUAGE 'plpgsql' VOLATILE;

Ошибка:


ERROR: syntax error at or near "NEW.UserID"
LINE 2: NEW.UserID=md5(to_char(current_timestamp, "DD.MM.YYYY HH24:M...
^

********** Error **********

ERROR: syntax error at or near "NEW.UserID"

plperlu права и ограничения.

Тригером вызываю функцию которая в свою очередь обращается
к внешней программе (тожж на перле)
Все замечательно пока внешняя программа не пытается выполнить телнет (так нужно)
problem connecting to "127.0.0.1", port 1909: Отказано в доступе at /usr/local/bin/myproc.pl line 25

и ругаеться на эту строку
(myproc.pl line 25)
$telnetp->open(Host => $hostname,Port => 1909);

Из под пользователя postgres все работает
Из процедуры на постгресе делал whoami = postgres
Пробовал то же самое на plsh

--------------------- вопрос -----------------------

Перевод запроса

Доброй ночи, уважаемые.
У меня такая просьба, есть запрос:
CREATE TABLE entityaddress (
"addressid" SERIAL PRIMARY KEY NOT NULL,
"entityid" INT,
"saddress1" VARCHAR(255),
"saddress2" VARCHAR(255),
"scity" VARCHAR(255),
"cstate" CHAR(2),
"spostalcode" VARCHAR(10),
"stype" VARCHAR(50),
CONSTRAINT "fk_entityaddress_entityid"
FOREIGN KEY("entityid") REFERENCES "entity"("entityid")
);
как мне его перевести в MySQL, если кто знает помогите.
Заранее спасибо.

увеличить max_connections PostgreSQL 9.0

Народ подскажите, где и что надо подкрутить, что бы max_connections = 500+ заработал, смотрел мануал, мало что понял :-(,
По умолчанию стоит 100, поднял до 150, все ОК, НО больше НИКАК! На 151 PSQL падает вообще, спасает только перезагрузка.
Крутил shared_buffers, work_mem, maintenance_work_mem, все в пустую.
Стоит 1 БД - 500мб, 2гб ОЗУ
Интересует какие параметры надо увеличить. Пробую на тестовой БД на Win XP.
Рабочая БД стоит на Linux. И там и там по 2 гб ОЗУ.
Желательно понять, что крутить и на linux и на Windows, НО linux кричечней конечно.

Передача запросов к Postgresql стороннему модулю

Встала задача написать клиент-серверное приложение, в качестве используемой СУБД выбрал PostgreSQL в ввиду богатого функционала. Серверная часть должна выполнять функции по анализу корректности запросов к БД (данные могут изменяться по строго определённым правилам не все из которых можно описать с использованием SQL ограничений). Пока собирал материал возник вопрос, а может ли PostgreSQL передавать запросы стороннему модулю (к примеру dll) до непосредственного выполнения в самой СУБД? Тогда вся задача свелась бы к написанию этого модуля. Есть ли соответствующий API?

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

Back to top

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