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

создание функции

Пишу функцию, которой на вход подается массив строк, новый елемент и строка. Строка является подстрокой в одном из елеметнов массива.

create function replace_participant(text[], text, text)
returns text[]
as
$$
declare
arrParticipants alias for $1;
newParticip alias for $2;
subStr alias for $3;
retVal text[];
begin
for i in array_lower(arrParticipants, 1) .. array_upper(arrParticipants, 1) loop
retVal[i] :=
if then
$2
else
retVal[i]
end if;
end loop;
return retVal;

прошу помощи с запросом

хочу размножить item.ts_range (тип tsrange), что-то типа:

with ddd AS (select * from unnest(array['1 days', '2 days']) d)
SELECT tsrange(lower(ts_range) + interval ddd.d, upper(ts_range) + interval ddd.d) as ts_range
FROM item, ddd

но ругается

как это грамотно сделать?

Джобы в PostgreSQL

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

Не посоветуете наилучшее решение для реализации джобов в PostgreSQL? Слышал, что штатный pgAgent на Linux работает плохо, так ли это?

Обрезаются данные в ячейке после выборки данных

1. Осуществляю SELECT запрос на поиск json кода
2. Поиск завершается успешно
3. Проверяю ячейку с данными jcon запроса

ER: Выводится весь json запрос
AR: json запрос обрезан. Код обрывается символами (...)

OS: Ubuntu
PostgreSQL брался из центра приложений Ubuntu (pgadmin3 1.18.1-2)

Можно ли это как-то вылечить или обойти (без смены ОС)?

Работа после усановки PSQL

Господа, намучился я с PostgreSQL(чувствую себя героем анекдота стою на асфальте я в лыжи обутый толи лыжи не едут nоли я долбанутый). Хочу изучить для себя новую СУБД.
Установил в соотв. с мануалом PostgreSQL for Beginners v2i с офиц. сайта ОС W7, версии PSQL 9.6,
при установке ввел пароль для пользователя (без него далее не пускает) postgres для подключения к базе. После установки открывается pgAdmin происходит подключение к серверу после ввода этого пароля.
Хочу поработать через SQL Shell (psql), запускаю
Server [localhost]: нажимаю Enter
Database [postgres]: нажимаю Enter

GIN-индекс на поле text[]

На aws установлен postgres 9.6. Имеется в базе табличка posts с 2,5 млн записей. В табличке есть колонка колнка text[] tags. На колонку tags установлен gin-индекс.

Простой запрос c фильтром по элементу массива tags выполняется неадекватно долго:

explain analyze
SELECT count(*)
FROM posts
WHERE ARRAY ['love'::text] <@ "tags"

"Aggregate (cost=235726.85..235726.86 rows=1 width=8) (actual time=116389.531..116389.532 rows=1 loops=1)"
" -> Bitmap Heap Scan on posts (cost=4854.04..234939.10 rows=315102 width=0) (actual time=358.306..116243.970 rows=340759 loops=1)"

Пропали данные

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

Функции даты в PGSQL

Доброго времени суток. Нужна Ваша помощь, в PGSQL есть ли анологичные функции такие как в MySQL:
TIMESTAMPADD, ADDTIME, TIMEDIFF?

Изменить имя колонки в представлении нельзя

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

На первых порах знакомства с Postgres испытал тотальный шок.
До этого работал на MS SQL server, а еще ранее на Oracle, но такого не встречал.

CREATE OR REPLACE VIEW a_cv_sh_sale AS
SELECT t1.id_sale,
t1.id_product,
t1.id_customer,
t1.id_pay_method,
t1.id_employee,
t1.quantity_sold,
t2.price::double precision * t1.quantity_sold AS sold_cost_total,
t1.date_sale,
date_part('month'::text, t1.date_sale) AS month_sale,
date_part('year'::text, t1.date_sale) AS year_sale,
t2.short_name as product_name,

Проблемы при создании таблиц

Здравствуйте, я новичок , сейчас пишу базу на postgres(пишу себе диплом)

Возникла ошибка при создании двух последних таблиц, остальное все хорошо, создал и заполнил...

"ОШИБКА: число столбцов в источнике и назначении внешнего ключа не совпадает"

CREATE TABLE specsubject(
codespec varchar(10) not null,
codesubject integer not null,
PRIMARY KEY(codespec, codesubject),
CONSTRAINT from_listspec_for_specsubject FOREIGN KEY(codespec) REFERENCES listspec,
CONSTRAINT from_listsubjects_for_specsubject FOREIGN KEY(codesubject) REFERENCES listsubjects
);

CREATE TABLE listprior(

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

Back to top

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