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

SELECT в параметры

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

создаю триггер
так запрос отработает
DECLARE
bbb INTEGER;
BEGIN
SELECT "AAA" INTO bbb FROM "SOMERECORDSET" as rs where rs."ID"=NEW."ReportID"; --- получаем в bbb то что было в "SOMERECORDSET"."AAA"

как вытащить несколько полей в несколько переменных?

SELECT "AAA" as aaa,"BBB" as bbb FROM "ReportInfo" as ri where ri."ID"=NEW."ReportID"; --- так не работает, но синтаксиса нет..

excel & postgresql

Подскажите технологии, средства, которыми возможно осуществить динамическое подключение(горячее) Microsoft Excel к базе данных PostgreSQL. Я знаю про возможности импорта и экспорта таблиц в обе стороны. Из базы данных с помощью microsoft query или power query. Из Excel с помощь csv файлов, так же искал возможность через dde и odbc, но частично не нашел реализации в интернете(dde), а в odbc не нашел динамическое подключение. Моя задача: сделать подключение, чтобы редактируя данные в таблице Excel они изменялись так же и в таблице PostgreSQL. Принцип такой же, как у Excel - Access.

Проектирование простой базы адресной книги

Есть такой скрипт создания БД. В базе таблица subscriber (абонент) связан с таблицей address отношением многие-ко-многим (несколько людей могут жить по одному адресу, один человек в разное время может бить по разным адресам). Первичные ключи в Postgres задаются как SERIAL (автоинкремент). Связь реализована таблицей sub_link. В ней поле sub_id - внешний ключ для sub_id в таблице "абонент".

При добавлении записей в каком заполнять таблицы? Сначала создать запись в таблице абонента, потом в таблице адреса, и только затем заполнять таблицу связи?

Не могу найти ошибку в запросе.

Всегда считал что (x-"любое число")-(y-"любое число") = x-y

Принимаем:
x=epoch FROM now()
y=epoch FROM cast(now() AS timestamp

Выполняем запрос:
SELECT (extract(epoch FROM now() - cast('2014-08-23 15:06:00' AS timestamp)) -
extract(epoch FROM cast(now() AS timestamp) - cast('2014-08-23 15:06:00' AS timestamp))) union
select (extract(epoch FROM now())- extract(epoch FROM cast(now() AS timestamp)))

Получаем
-21600
3600

Где ошибка никак понять не могу...

Журналирование в PostgreSQL (журналы транзакций)

Раньше занимался сопровождением задач под Oracle, также, немного пришлось столкнуться с MS-SQL. Вопросы горячего резервирования всегда были актуальны, поскольку системы 24/7, перерывы брать практически нельзя.
Решались задачи по восстановлению следующие:
1) Необходимо наличие горячего резерва основной БД - резерв "максимально актуален", степень актуальности зависит от применяемой технологии.
2) Наличие бэкапа за предыдущие сутки и журналов транзакции до текущего момента, чтобы можно было восстановиться на любой момент времени в прошлом после выполнения бэкапа.

Репликация PostgreSQL

Всем привет. Я новичок в администрировании PostgreSQL.

Стоит вопрос по репликации баз.

Есть точки master (около 200шт) на каждом пк PostgreSQL под windows. Возможно ли настроить репликацию базы с каждой точки на сервер slave linux либо windows без разницы.

В лучшем варианте что-бы был один linux slave на котором крутились бы все базы передаваемые с мастеров.
Возможно есть какое-то платное ПО?

Спасибо.

Как лучше организовать словарь синонимов?

Допустим у нас есть список животных.
Пускай

CREATE TABLE animals(
id int UNIQUE PRIMARY KEY,
animal text
);

И у нас есть животное "собака", у неё есть инварианты и синонимы: "пёс","dog","собчака" и т.п.
Как лучше реализовать хранение синонимов?

1. Для каждого значения создавать таблицу синонимов.
Самый глупый как мне кажется вариант. Так как будет у меня 10к животных, и под каждое придётся создать по таблице.

2. Создать дополнительное поле, где для каждого значения будут хранится одновременно все синонимы и инварианты.

Запустить скрипт при старте сервера БД

Добрый день, коллеги!

Требуется выполнять процедуру каждый раз, когда Постгрес стартует, да еще из под рута.
Если через тригер, то он вешается только на событие, связанное с таблицей. Приходит мысль найти таблицу, в которую что-нибудь пишется при запуске сервиса. Или какой-нибудь подобный костыль с ивентом придумать.

Какие будут мысли на этот счет?

Не удается подключиться к базе данных

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

Есть сервер windows server 2008 r2 на него поставил PostgreSQL и 1С сервер + на нем работает VPN для других задач не связанных с PostgreSQL. Проблема появилась после сбоя VPN, когда соединение восстановилось при подключении к базам 1С начало выдавать ошибку

Сервер баз данных не обнаружен
FATAL: no pg_hba.conf entry for host “fe80::2cc8:3744:3f57:fe94/128”, user “postgres”, database “template1”

долго копал просторы интернета и вот что нашел

Импорт нескольких CSV таблиц в базу

Привет.
Вопрос такой:
Есть несколько взаимосвязанных таблиц CSV и их нужно занести в базу данных, НО . . .
При внесении одной из них в базу, там каждой строке присваивается свой номер (автоматом), который мне надо теперь перенести в одну или несколько других таблиц и так далее и тому подобное.
ПРИМЕР:
таблица 1
8 Static_700 700.0
9 Стандарт_700 700.0
10 Free 1.0
11 Static_600 600.0
12 Static_500 500.0
13 Static_900 900.0
14 Static_1000 1000.0

при заброске ее в базу имеет вид:

1 8 Static_700 700.0
2 9 Стандарт_700 700.0
3 10 Free 1.0
4 11 Static_600 600.0

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

Back to top

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