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

Экранирование различных символов при вставке данных в поля Character.

Доброе время суток!
Есть различные строковые значения, которые могут содержать символы:
"./*\%#&@^$!
Эти значения необходимо вставить в поля таблицы. Как правильно экранировать эти символы?

Как отоброзить таблицу из БД postgresql в браузере

Подскажите каким методом таблицу из базы данных в Postgresql можно просмотреть или отобразить в браузере?

VACUUM

Стало недоступно подключение к базам, ошибка:

Aug 12 15:10:33 psql postgres[6391]: [2-2] HINT: To avoid a database shutdown, execute a full-database VACUUM in "data-01".
Aug 12 15:10:33 psql postgres[6391]: [3-1] WARNING: database "data-01" must be vacuumed within 10994425 transactions

Операция

/bin/postgres --single -D /home/postgres/data < /home/postgres/fix.sql (в fix.sql - VACUUM FULL)

Помогите пожалуйста написать функцию

Доброго времени суток. Прошу помощи в написании функции. Есть 2 таблицы:
tags:
id serial;
tag character varying;

groups:
id SERIAL;
title character varying;
tags character varying[]; -- Здесь храняться id из таблицы tags. Не знаю, имеет ли это значение, но для этого поля установлен индекс gin

Первоначально функция выглядела так:

CREATE OR REPLACE FUNCTION video_galery.groups_list(OUT o_id integer, OUT o_title character varying, OUT o_tags character varying[])
  RETURNS SETOF record AS
$BODY$
DECLARE
	r RECORD;
	sql CHARACTER VARYING;
BEGIN
	sql = '
		SELECT

Обмен с удаленной БД

Доброго времени суток.

Появилась проблемка в реализации омена данными удаленного и центрального веб-приложений (php+postgresql). Голову сломал почти от возможных вариантов. Постараюсь сформулировать корректно, в чем требуется помощь.

Суть приложения кратко - учет заявок организации. Есть центральный офис, ктр работает с центральной БД (далее ЦБД), а есть филиалы, ктр работают с локальной БД (далее ЛБД). Для простоты по структуре они одинаковы.

Copy .CSV

Файл CSV выглядит примерно так:

7;"Москва"
8;"Россия"
9;"Тверь"

Использую запрос:

copy Table
from 'c:\\11.csv'
WITH
delimiter ';'
csv
header;

Все отлично переносится в таблицу, только ковычки теряются......

Помогите пожалуйста с написанием запроса

Доброго времени суток. Нужна помощь с написанием запроса. Есть 2 таблицы:

people:
id(serial)|surname(character)|name(character)|second_name(character)|notes(text)

phones:
id(serial)|people_id(integer)|phone_number(character)

Нужно написать такой запрос:

Выбирает все записи из таблицы people, а в поле phones заносит все номера телефонов для записи.

Я пытался написать так:

SELECT
	people.*,
	array_agg(phones.phone_number) AS phones	
FROM people
LEFT JOIN
	phones
	ON
		people.id = phones.people_id
GROUP BY
	people.id

Прошу помощи в написании запроса

Добрый день!
Есть таблица со следующими полями:
dt - timestamp with timezone;
vol - bigint.
Строки записываются каждую минуту. Нужно сформировать таблицу с такими же полями но сжать в 5 раз, тоесть dt будет с периодичностью в 5 минут, а vol = сумма за этот 5 минутный интервал.

Заранее спасибо.

Помогите разобраться с секционированием таблицы

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

Доброго времени суток, я новичёк в работе с бд Postgres.
В документации нашёл описание секционирования таблицы, попробовал сделать подобное с таблицей новостей вот код тригера:

CREATE OR REPLACE FUNCTION public.news_insert_trigger()
RETURNS TRIGGER AS $$
BEGIN
/* для 2013 года */
IF (NEW.publicdate >= TIMESTAMP '2013-01-01 00:00:00' AND NEW.publicdate < TIMESTAMP '2013-02-01 00:00:00') THEN INSERT INTO public.news_01012011 VALUES (NEW.*);
...

PL/pgSQL. Можно ли выполнять неименованные функции?

Если есть необходимость выполнить какую-то процедуру один раз, можно ли выполнять ее не создавая функцию?
Например, вот так:

DECLARE
x integer := 1;
y integer;
BEGIN
integer y := x / 0;
EXCEPTION
WHEN division_by_zero THEN -- ignore the error
END;

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

Back to top

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