
Darafei
03.11.2016
12:27:46
Благодарю!
и отучите ответственных писать схему, когда не надо
defaults are sane :)

[Anonymous]
03.11.2016
12:32:32
я не понял проста сорри вопрос..

Darafei
03.11.2016
12:35:38
/me внезапно понял, что ни разу в жизни не смотрел схему в GUI

Google

Darafei
03.11.2016
12:37:30
поразворачивай там до того, пока не будут видны все колонки таблицы

Vadim
03.11.2016
12:37:50
SELECT nspname || '.' || relname AS " relation " ,
pg_size_pretty ( pg_relation_size (C. oid ) ) AS "size "
FROM pg_class C
LEFT JOIN pg_namespace N ON (N. oid = C. relnamespace )
WHERE nspname = 'public' AND relname = 'Documents';

[Anonymous]
03.11.2016
12:38:27

Vadim
03.11.2016
12:38:42
а тост есть?

Darafei
03.11.2016
12:39:24
ну varchar(2500) точно в тост поедет
скорее всего, там ещё full description есть

I
03.11.2016
12:40:22
всем привет
Вопрос такой - надо N-мерные данные хранить и добавлять
Кто-нибудь использует cube или есть другие решения для данной задачи?

Darafei
03.11.2016
12:40:41

Vadim
03.11.2016
12:41:01


[Anonymous]
03.11.2016
12:41:13
ID" numeric(10,0) NOT NULL DEFAULT nextval('seq_docs'::regclass),
"RegNum" character varying(100), — Регистрационный номер
"RegDate" date, — Дата регистрации
"FolderID" numeric(10,0), — Папка
"ShortContent" character varying(2500), — Краткое содержание
"DocumentTypeID" integer, — Тип документа (входящий, внутренний, исходящий и тд.)
"JournalID" integer, — Журнал
"DocumentKindID" integer, — Вид документа
"LiterID" integer, — Литер
"CreatorID" numeric(10,0), — Ñîçäàòåëü äîêóìåíòà
"OutNum" character varying(100), — Исходящий номер
"OutDate" date, — Дата исходящего документа
"OrganizationID" integer, — Ссылка на корреспондента
"FormID" integer, — Форма отправки
"DepartmentID" integer, — Подразделение
"AuthorID" numeric(10,0), — Автор документа
"SignerID" numeric(10,0), — Подписант
"InnerDate" date, — Внутренняя дата
"InnerNum" character varying(40), — Внутренний номер
"PersonName" character varying(100), — Контактное лицо
"Address" character varying(300), — Адрес
"DocDiscriminator" integer DEFAULT 368206494, — Дискриминатор используется Плоское наследование.
"Deadline" date, — Срок
"ComplaintTypeId" integer,
"RegionID" integer, — Регион
"ComplaintSubmWayID" integer, — Способ подачи обращения
"ParentID" numeric(10,0), — Родительская жалоба
"ComplaintStateID" integer, — Состояние обращения
"DocumentName" character varying(1000),
"FromHeadDocNum" character varying(100),
"FromHeadMission" character varying(1000),
"FromHeadDocDate" date,
"ClosingDate" date, — Дата закрытия
"ContractDocKindID" integer,
"ContractKindID" integer,
"ContractSum" numeric, — Сумма контракта (Количество * Цена)
"ContractNumber" integer, — Номер
"Count" numeric, — Количество
"CurrencyID" integer,
"ExecutorID" integer,
"IsAnnulled" boolean DEFAULT false, — Аннулирован
"Price" numeric, — ?ена
"SendDate" date, — Дата отправки
"ReceivedDate" date, — Дата получения
"Controller" boolean,
"Code" character varying(25),
"Reason" character varying(1000), — Основание
"JournalNumber" numeric(10,0), — Журнальный номер документа
CONSTRAINT "PK_DocID" PRIMARY KEY ("ID"),
CONSTRAINT "Documents_ComplaintSubmWayID_fkey" FOREIGN KEY ("ComplaintSubmWayID")
REFERENCES public."Dictionaries" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "Documents_ComplaintTypeId_fkey" FOREIGN KEY ("ComplaintTypeId")
REFERENCES public."Dictionaries" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_ContractDocKindId" FOREIGN KEY ("ContractDocKindID")
REFERENCES public."Dictionaries" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_ContractKindId" FOREIGN KEY ("ContractKindID")
REFERENCES public."Dictionaries" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_CurrencyId" FOREIGN KEY ("CurrencyID")
REFERENCES public."Dictionaries" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_Document_AuthorId" FOREIGN KEY ("AuthorID")
REFERENCES public."Staffs" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_Document_DepartmentID" FOREIGN KEY ("DepartmentID")
REFERENCES public."Departments" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_Document_DicDocKindID" FOREIGN KEY ("DocumentKindID")
REFERENCES public."Dictionaries" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_Document_DocTypeID" FOREIGN KEY ("DocumentTypeID")
REFERENCES public."DocTypes" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "FK_Document_FormID" FOREIGN KEY ("FormID")
REFERENCES public."Dictionaries" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_Document_LiterID" FOREIGN KEY ("LiterID")
REFERENCES public."Dictionaries" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_Document_OrganizationID" FOREIGN KEY ("OrganizationID")
REFERENCES public."Organizations" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_Document_RegionID" FOREIGN KEY ("RegionID")
REFERENCES public."Dictionaries" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_Document_SignerId" FOREIGN KEY ("SignerID")
REFERENCES public."Staffs" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_Documents_ComplaintStateID" FOREIGN KEY ("ComplaintStateID")
REFERENCES public."Dictionaries" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_Documents_CreatorID" FOREIGN KEY ("CreatorID")
REFERENCES public."Staffs" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_Documents_JournalID" FOREIGN KEY ("JournalID")
REFERENCES public."Journals" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "FK_ExecutorID" FOREIGN KEY ("ExecutorID")
REFERENCES public."Staffs" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT,
CONSTRAINT "FK_ParentID" FOREIGN KEY ("ParentID")
REFERENCES public."Documents" ("ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE
а тост есть?
блин я не правильно написал сорри )) было "9464 kB"


Vadim
03.11.2016
12:44:19
946 kB
SELECT C. oid, nspname || '.' || relname AS " relation " ,
pg_size_pretty ( pg_relation_size (C. oid ) ) AS "size "
FROM pg_class C
LEFT JOIN pg_namespace N ON (N. oid = C. relnamespace )
WHERE nspname = 'public' AND relname = 'Documents';
и пришлите oid. По нему будем искать тост если он есть

Google

[Anonymous]
03.11.2016
12:44:55
oid 19110; relaition "public.Documents"; size text "9464 kB"

Darafei
03.11.2016
12:45:45

Vadim
03.11.2016
12:45:46
SELECT nspname || '.' || relname AS " relation " ,
pg_size_pretty ( pg_relation_size (C. oid ) ) AS "size "
FROM pg_class C
LEFT JOIN pg_namespace N ON (N. oid = C. relnamespace )
WHERE nspname = 'pg_toast' AND relname like '%19110%';

[Anonymous]
03.11.2016
12:46:14
"pg_toast.pg_toast_19110";"0 bytes"
"pg_toast.pg_toast_19110_index";"8192 bytes"

Vadim
03.11.2016
12:46:51

Darafei
03.11.2016
12:48:02
vacuum full / cluster уже поделали? :)

[Anonymous]
03.11.2016
12:48:02
да. а почему запрос на выборку так медлено работает я не понял это всё равно ))

Vadim
03.11.2016
12:50:17

[Anonymous]
03.11.2016
12:50:53
Query returned successfully with no result in 1.0 secs.

Vadim
03.11.2016
13:01:55
Думаю 12 сек, это то, с чем придется жить :) Чтобы первое чтение с диска было тоже быстрое, можете воспользоваться вот этим - https://postgrespro.ru/docs/postgrespro/9.5/pgprewarm

Vadim
03.11.2016
13:07:29
попробовал, так, запрос выполняется за 6-10 секунд, хотя по плану 24мс, локально тоже долго выполняется, если в консоль выводить, если в файл то быстро 200мс
видимо время тратиться на "отобразить результаты"

Vadim
03.11.2016
13:09:42
да. Время на перегон всего этого добра по сети и отобразить.

Vadim
03.11.2016
13:09:55
локально тож долго))

Vadim
03.11.2016
13:09:59
а, хотя у вас локально все.(
да да)
Возможно оценки планировщика не верны, это может быть связано с seq_page_cost

Vadim
03.11.2016
13:11:19
хотя нет, локально 200мс, удаленно 10 сек, думаю действительно 16мбайт таблицу на передачу по сети тратиться

Google

Vadim
03.11.2016
13:11:51
то время которое тратиться на "отобразить" в putty, наверно можно не учитывать, мало ли что там консоль долго рисует, в конце пишет 200мс, думаю да, все в сети

ros
03.11.2016
13:17:16
по сети не так долго тормоза при ворматировании выхлопа в консоль
в pg_admin последняя вкладка "История" там Total query runtime
в консольном клиенте так быстро не скажу
но точно должно гдето быть

Vadim
03.11.2016
13:19:21
не нахожу

Evgeniy
03.11.2016
13:19:34
в консольном \timing, который тоже учитывает рендеринг
ну или нет, но сеть точно меряет

Vadim
03.11.2016
13:22:25
Total query runtime: 52 msec
быстро так то

Павел П.
03.11.2016
13:42:24
SELECT distinct on (date) some_id, date, type from table where type = 10 ORDER BY date;
Всегда ли выдаст первый появившийся some_id где тип=10 ?

Vadim
03.11.2016
13:44:12

Павел П.
03.11.2016
13:44:41
Нет, просто не уникальный айдишник

Admin
ERROR: S client not available

Павел П.
03.11.2016
13:45:29
Хочу отловить первое появление айдишника с таким типом

Vadim
03.11.2016
13:45:34
тогда ответ - нет. Если у вас id bigint NOT NULL DEFAULT nextval('table_seq'::regclass) и date это какой то now() - то да

Anatoliy
03.11.2016
13:45:55
Наверное order by id, date еще поможет, но не факт

Павел П.
03.11.2016
13:48:12
Вот тоже уверенности нет в сортировке дистинкта, не факт же что возьмет первую по ордеру

Google

Павел П.
03.11.2016
14:17:04
SELECT distinct on (some_id) some_id, date, type from table where type = 10 ORDER BY some_id, date;
Отработал правильно.
Всем спасибо.

Igor
03.11.2016
16:57:03
http://thebuild.com/presentations/pgconfeu-2016-securing-postgresql.pdf

[Anonymous]
04.11.2016
05:31:50
Добрый день! Господа есть такой вопрос. Какой тип данных вы бы мне по рекомендовали для использования primary key. Int or Guid. Спасибо.

Nikita
04.11.2016
06:18:45

Марк ☢
04.11.2016
08:39:05

[Anonymous]
04.11.2016
08:40:05
Я проста у вас ваше мнения хотел спросить.. Что вы используете и почему

Марк ☢
04.11.2016
08:49:23
Конечно int или bigint
Какой нафиг гуид

[Anonymous]
04.11.2016
08:50:32

Darafei
04.11.2016
08:51:17
конечно, гуид

Anton [Mgn, az09@osm]
04.11.2016
08:51:48
потомучто гладиолус

Darafei
04.11.2016
08:51:50
как ещё на распределённых системах айдишки выдавать, не счётчиком же? :)

Марк ☢
04.11.2016
08:51:59

Darafei
04.11.2016
08:53:19
bytea-то зачем?
в общем, или bigint, или guid
если система живёт на одной ноде и на две никогда не вырастет - bigint
если нет - guid
если вы задаётесь вопросом guid или bigint публично, то bigint

Марк ☢
04.11.2016
08:54:57

Darafei
04.11.2016
08:55:26
есть же тип uuid, который внутри огромный инт