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

Сохранение запроса в новой таблице Postgre

Добрый день!

Как сохранить данные запроса в новой таблице! (в программирование полый ноль). запрос ниже:

select a.notes, a.patch_area, c.area*a.patch_area/(select sum(n.patch_area) from ppn_headers as n
left join ppn_headers_calc_t as m ON (m.ppn_id=n.ppn_id)

where b.strata=m.strata
group by m.strata
) as ar,
b.strata, c.area
from ppn_headers as a,
ppn_headers_calc_t as b
left join table_character_stratification c ON (b.strata=c.strata)
where b.ppn_id=a.ppn_id;

Выбрать уникальные, сделать JOIN

Добрый день.
Есть две таблички, связаны по ключу с отношением 1 к многим.
Мне надо из первой таблички выбрать несколько случайных записей, и со второй таблички, используя эти записи как ключ, выбрать случайные элементы.

select idx
from location
order by random()
limit 5

"idx"
"123"
"126"
"118"
"104"
"102"

Возвращает мне 5 случайных значений.

select location.idx, item.idx
from location
left join item on (item.location_idx = location.idx)
order by random()
limit 5

"idx" "idx_1"
"102" "2460655269"
"114" "2469438503"
"107" "2454449966"
"102" "2460805191"

Нуждаюсь в вашей помощи

Доброго времени суток
Прошу дать совет
Гугля ничего не дала

Перед тем как редактировать файлы я их скопировал себе на комп при помощи filezilla.
Потом после редактирования хотел вернуть сайт в первоначальный вид
после того как я вернул первоначальные php, появляются ошибки:
Warning: pg_exec() [function.pg-exec]: No PostgreSQL link opened yet in
в каждом модуле моего сайта

Как это решить? и в чем может быть проблема?
Заранее спасибо за потраченное время.

FTS по части слова, меньшей чем в индексе

Доброго времени суток!
Гуглил, читал, вникал, но... есть вопрос, на который прошу помощи.
Имеются записи (около 150000), которые состоят из названий лекарственных средств. Как сделать индексированный поиск по части слова? Например:

SELECT title FROM article
WHERE search_index @@ to_tsquery('мазь & цинкова');

находит позиции, а вот так нет:
SELECT title FROM article 
WHERE search_index @@ to_tsquery('маз & цин');

Запрос, вида:

SELECT title FROM article
WHERE search_index @@ to_tsquery('маз:* & цин:*');

Странный глюк в таблице c полем bytea

Добрый день.
Долгое бьюсь над непонятной проблемой и никак не могу решить.
Есть с таблица table1 с полями:
id int8
i int8
s_date timestamp
raw_data bytea
В таблице есть индекс:
CREATE UNIQUE INDEX "table1_main_idx" ON "public"."table1" USING btree ("id", "i")
Таблица обновляется функцией

CREATE OR REPLACE FUNCTION "public"."insert_raw_packet"(in_id int8, in_raw bytea)
  RETURNS "pg_catalog"."bool" AS $BODY$BEGIN
	UPDATE table1 SET i = i - 1 WHERE "id"=in_id;
	DELETE FROM table1 WHERE "id"=in_id AND i<0;

PL/SQL запрос. Помогите с миграцией на PostgreSQL

Есть запрос Oracle PL/SQL:
create type my_row_type as (
accountid NUMBER(10),
postid NUMBER(10),
postid timestamp
)
/
create or replace type virtual_table_type as table of my_row_type
/

Подскажите, пожалуйста, аналог для PostgreSQL PL/PGSQL этого момента:
create or replace type virtual_table_type as table of my_row_type

Проектирование объектно реалиционной базы данных (postgreSQL)

ответ в соседней ветке. Вопрос, как проектировать postgresql, с учетом того что бд ОБЪЕКТНО-реляционная? Как хранятся данные в бд, в виде объектов, таблиц или что-то среднее? Какие еще свойства ОО есть в postgresql?

Ошибка в создании триггера

Здравствуйте!

SQL Manager 2011 for PostgreSQL
БД PostgreSQL 9.0

Не могу понять в чем ошибка...

CREATE OR REPLACE FUNCTION mnl.mnl_user_pr_ai()returns TRIGGER
AS
$body$
begin
   execute mnl.mnl_insert_f('mnl_logs'
                           ,new.created_by
                           ,'Insert'
                           ,'Вставка данных в таблицу mnl_users. User_id - ' || new.user_id);
end;
$body$
LANGUAGE plpgsql;
DROP TRIGGER IF EXISTS mnl_user_tr_ai ON mnl.mnl_users;
CREATE TRIGGER mnl_user_tr_ai
after INSERT ON mnl.mnl_users FOR each row

запрет отключения триггера

В описании Bucardo (асинхронная Master-Master, Master-Slave репликация данных в postgresql) написано:
...
5) The kid starts a new transaction and disables triggers and rules on the tables in question.
8) Triggers and rules are re-enabled, and the transaction commits.
...

В связи с чем мой триггер на реплицируемую таблицу не работает в момент принятия данных от другого "мастера" (использую Master-Master репликацию). Можно ли как-то запретить Bucardo отключать определенный триггер?

GRANT

Здравствуйте .
хочу сделать пользователя который имеет права только на просмотр таблиц. но при изменение базы данных новые таблицы не просматриваются.
можно ли сделать роль на все таблицы или нужно каждый раз перечислять таблицы? баз данных очень много но таблицы там одинаковые.

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

Back to top

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