Обсуждение: Re: your mail
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---559023410-2032315143-1105953418=:12633 Content-Type: TEXT/PLAIN; charset=koi8-r; format=flowed Content-Transfer-Encoding: 8BIT Евгений, ты какой-то неконструктивный и злой :) В версии 7.3.4, возможно, эта проблема реальна, но на 100% не уверен, так как нет у меня такой древней версии. Но в 7.4.6 все работает как и задумано, так что советую тебе все-таки сделать upgrade, для того люди и работают. А писать в лист все-таки надо, просто надо стараться формулировать проблему правильно и четко, и обязательно сообщать всю информацию о версии, платформе, прикладывать тестовые скрипты и данные (можно дать ссылку где взять).При этом стараться сделать процесс тестирования как можно легким, чтобы человек, который пытается тебе помочь, мог использовать технику "cut'n paste". Почитай еще раз свои письма и ты увидишь, что у тебя с этим плохо. Мы все люди занятые, не только ты такой, поэтому обычно очень трудно отвлекаться на чужие проблемы. Я тебя попросил написать в русскоязычный лист ? А ты даже subject в письме поленился написать, чтобы мне было понятнее. Виктор, мне кажется, это тоже в FAQ надо приложить под темой: Как сообщать о проблемах ? Олег On Mon, 17 Jan 2005, Евгений wrote: >> Oleg Bartunov <oleg@sai.msu.su>: > >> On Fri, 14 Jan 2005, Евгений wrote: >> >>> Здравствуйте, >>> не могу писать со своего рабочего ящика потому что у >>> нас \\\"как всегда\\\" >>> >>> мы тут столкнулись с таким ситуацией: >>> >>> в базе определена схема Х1 помимо паблика >>> в Х1 определена таблица Т1 >>> в паблике определена функция Ф1 >>> >>> Т1 содержит чек: CHECK (Ф1(поле1)=0 >>> >>> pg_dump рожает следующее: >>> >>> set search_path = public,user1; >>> CREATE FUNCTION Ф1....; >>> >>> set search_path = Х1,user1; >>> CREATE TABLE Т1 >>> ( >>> ....., >>> CHECK (Ф1(поле1)=0 >>> ); >>> >>> при закачке возникает : >>> ошибка: нету функции Ф1. >>> >>> помоему тут всё ясно, и мои дальнейшие рассуждения Вам >>> не нужны. >> >> нифига не ясно :) Сколько учить надо, блин ! >> Версия постгреса какая и функция чья ? >> Скрипт для проверки. Вот еды-палы ! И если это не > относится к нашим >> модулям, то писать надо в мэйлинг лист. Кстати, есть >> pgsql-ru-general лист. Читай здесь >> http://www.linuxshare.ru/postgresql/community.shtml > > Объясняю, в дополнение ко всему вышеизложенному. > версия постгреса: 7.3.4 (оба: и pg_dump и того которому > этот дамп скармливался) > Функция юзерская, здесь прикол не вней совершенно, а в > том что она находится в другой схеме нежели таблица, > чек которой, вызывает эту Ф. > И вот pg_dump расставляет по дампу дурацкие SET > search_path, не задумываясь о том что у таблиц бывают > чеки, а в чеках арифметические выражения, которые > pg_dump имхо и не планировал разбирать. > > В лист я писать не хочу, - там меня в очередной раз > пошлют нахуй, как неоднократно посылали с багами при > приведении типов. > > Вот тестовый скрипт: > > CREATE FUNCTION tst_f() RETURNS INT AS \'begin; return > 0; end;\' LANGUAGE \'plpgsql\'; > CREATE SCHEMA tst_s; > CREATE TABLE tst_s.t (a int, CHECK (tst_f()=0)); > > если базу данных содержащую эти три объекта сдампить > то дамп будет неработоспособным. (regardless to options > sot to pg_dump) > строка CREATE TABLE t..... из дампа сгенерирует ошибку. > > может быть господа перемудрили, когда стали придираться > к существованию функций при создании чека ? либо схемы > это абсолютное зло (к чему я более склоняюсь) > Regards, Oleg _____________________________________________________________ Oleg Bartunov, sci.researcher, hostmaster of AstroNet, Sternberg Astronomical Institute, Moscow University (Russia) Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(095)939-16-83, +007(095)939-23-83 ---559023410-2032315143-1105953418=:12633--
> Виктор, мне кажется, это тоже в FAQ надо приложить под темой: > Как сообщать о проблемах ? Мне тут чудную ссылочку прислали на эту тему. Обязательно куда-нибудь встрою: http://www.linuxrsp.ru/artic/smart-questions-ru.html Я бы проверил, то что Евгений написал на своей базе (у меня 7.4.6), но тестовый скрипт не работает, потому что: ERROR: язык "plpgsql" не существует HINT: Вам нужно использовать "createlang" для загрузки языка в базу. А разбираться дальше мне влом. -- С уважением, Виктор
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---559023410-1524768324-1105967359=:12633 Content-Type: TEXT/PLAIN; charset=koi8-r; format=flowed Content-Transfer-Encoding: 8BIT On Mon, 17 Jan 2005, Viktor Vislobokov wrote: > >> Виктор, мне кажется, это тоже в FAQ надо приложить под темой: >> Как сообщать о проблемах ? > > Мне тут чудную ссылочку прислали на эту тему. Обязательно куда-нибудь > встрою: http://www.linuxrsp.ru/artic/smart-questions-ru.html > > Я бы проверил, то что Евгений написал на своей базе (у меня 7.4.6), но > тестовый скрипт не работает, потому что: > > ERROR: язык "plpgsql" не существует > HINT: Вам нужно использовать "createlang" для загрузки языка в базу. это просто. createlang -d test plpgsql > > А разбираться дальше мне влом. > > Regards, Oleg _____________________________________________________________ Oleg Bartunov, sci.researcher, hostmaster of AstroNet, Sternberg Astronomical Institute, Moscow University (Russia) Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(095)939-16-83, +007(095)939-23-83 ---559023410-1524768324-1105967359=:12633--
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---559023410-615069368-1105967467=:12633 Content-Type: TEXT/PLAIN; charset=koi8-r; format=flowed Content-Transfer-Encoding: 8BIT On Mon, 17 Jan 2005, Viktor Vislobokov wrote: > >> Виктор, мне кажется, это тоже в FAQ надо приложить под темой: >> Как сообщать о проблемах ? > > Мне тут чудную ссылочку прислали на эту тему. Обязательно куда-нибудь > встрою: http://www.linuxrsp.ru/artic/smart-questions-ru.html Зззамечательно ! Помести его полностью на сервере. > > Я бы проверил, то что Евгений написал на своей базе (у меня 7.4.6), но > тестовый скрипт не работает, потому что: > > ERROR: язык "plpgsql" не существует > HINT: Вам нужно использовать "createlang" для загрузки языка в базу. > > А разбираться дальше мне влом. > > Regards, Oleg _____________________________________________________________ Oleg Bartunov, sci.researcher, hostmaster of AstroNet, Sternberg Astronomical Institute, Moscow University (Russia) Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(095)939-16-83, +007(095)939-23-83 ---559023410-615069368-1105967467=:12633--
Итак. Проверяю от себя.
---------------------------------------------------------------------------------------------------
$ su -
password:
# su - postgres
$ createdb probe
CREATE DATABASE
$ createlang -d probe plpgsql
$ psql -d probe
Добро пожаловать в psql 7.4.6 - Интерактивный Терминал PostgreSQL.
Наберите: \copyright для условий распространения
\h для подсказки по SQL командам
\? для подсказки по внутренним slash-командам (\команда)
\g или ";" для завершения и выполнения запроса
\q для выхода
probe=# CREATE FUNCTION tst_f() RETURNS INT AS 'begin; return 0; end;'
LANGUAGE 'plpgsql';
CREATE FUNCTION
probe=# CREATE SCHEMA tst_s;
CREATE SCHEMA
probe=# CREATE TABLE tst_s.t (a int, CHECK (tst_f()=0));
CREATE TABLE
probe=# \q
$ pg_dump probe >probe.sql
$ createdb probe1
CREATE DATABASE
$ psql -d probe1 < probe.sql
SET
SET
CREATE SCHEMA
SET
SET
CREATE FUNCTION
SET
CREATE LANGUAGE
SET
REVOKE
GRANT
SET
CREATE FUNCTION
SET
CREATE TABLE
COMMENT
$
Никаких ошибок нет.
Вывод - или что-то неправильно было сделано или ошибка была
исправлена в новой версии.
В прицепе созданный дамп базы
--
С уважением, Виктор
--
-- PostgreSQL database dump
--
SET client_encoding = 'SQL_ASCII';
SET check_function_bodies = false;
--
-- TOC entry 3 (OID 17147)
-- Name: tst_s; Type: SCHEMA; Schema: -; Owner:
--
CREATE SCHEMA tst_s AUTHORIZATION postgres;
SET SESSION AUTHORIZATION 'postgres';
SET search_path = public, pg_catalog;
--
-- TOC entry 8 (OID 17144)
-- Name: plpgsql_call_handler(); Type: FUNC PROCEDURAL LANGUAGE; Schema: public; Owner: postgres
--
CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler
AS '$libdir/plpgsql', 'plpgsql_call_handler'
LANGUAGE c;
SET SESSION AUTHORIZATION DEFAULT;
--
-- TOC entry 7 (OID 17145)
-- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: public; Owner:
--
CREATE TRUSTED PROCEDURAL LANGUAGE plpgsql HANDLER plpgsql_call_handler;
SET SESSION AUTHORIZATION 'postgres';
--
-- TOC entry 5 (OID 2200)
-- Name: public; Type: ACL; Schema: -; Owner: postgres
--
REVOKE ALL ON SCHEMA public FROM PUBLIC;
GRANT ALL ON SCHEMA public TO PUBLIC;
SET SESSION AUTHORIZATION 'postgres';
--
-- TOC entry 9 (OID 17146)
-- Name: tst_f(); Type: FUNCTION; Schema: public; Owner: postgres
--
CREATE FUNCTION tst_f() RETURNS integer
AS 'begin; return 0; end;'
LANGUAGE plpgsql;
SET search_path = tst_s, pg_catalog;
--
-- TOC entry 6 (OID 17148)
-- Name: t; Type: TABLE; Schema: tst_s; Owner: postgres
--
CREATE TABLE t (
a integer,
CONSTRAINT "$1" CHECK ((public.tst_f() = 0))
);
--
-- Data for TOC entry 10 (OID 17148)
-- Name: t; Type: TABLE DATA; Schema: tst_s; Owner: postgres
--
COPY t (a) FROM stdin;
\.
--
-- TOC entry 4 (OID 2200)
-- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: postgres
--
COMMENT ON SCHEMA public IS 'Standard public schema';
Изменил содержимое странички http://www.linuxshare.ru/postgresql/support.shtml вроде бы так как хотел Олег. Примаются замечания и предложения. -- С уважением, Виктор
On Thu, Jan 20, 2005 at 11:26:47AM +0500, Viktor Vislobokov wrote: > Изменил содержимое странички > > http://www.linuxshare.ru/postgresql/support.shtml > > вроде бы так как хотел Олег. > > Примаются замечания и предложения. Если можно, пару слов об очепятках :) "Для этого рекомендуется ознакомится..." - ознакомитЬся. Ещё: Раздел "О PostgreSQL": "аггрегатные" - в русском вроде с одной "г". Раздел "Скачать": "Неоторые из них являются" - "Некоторые". "Python интерфейс для PostgreSQL" - "Python-интерфейс" через дефис? Или "Интерфейс для Python". "SlonI" - слони или слоны? :) В оригинале вроде "Slony" ("Slony1"). Раздел "Документация": "пока очень не велик" - "невелик" слитно. -- Fduch M. Pravking
Можно, исправлено.
>Если можно, пару слов об очепятках :)
>
>"Для этого рекомендуется ознакомится..." - ознакомитЬся.
>
>Ещё:
>Раздел "О PostgreSQL":
> "аггрегатные" - в русском вроде с одной "г".
>Раздел "Скачать":
> "Неоторые из них являются" - "Некоторые".
> "Python интерфейс для PostgreSQL" - "Python-интерфейс" через дефис?
> Или "Интерфейс для Python".
> "SlonI" - слони или слоны? :) В оригинале вроде "Slony" ("Slony1").
>Раздел "Документация":
> "пока очень не велик" - "невелик" слитно.
>
>
>
>
--
С уважением, Виктор