таблица ключей

Legushka
Дата: 20.01.2015 14:45:46
подскажите в какой сист. таблице хранятся данные о том с какими другими таблицами и полями установлены связи?
/\/\/\/\/\/\
Дата: 20.01.2015 14:54:05
Legushka,
RTFM
Ваш вопрос найдете тут и тут.
li_malina
Дата: 20.01.2015 15:02:27
Legushka,
pg_constraint
Legushka
Дата: 20.01.2015 15:16:36
спасибо из РТФМ вытащил нужную таблицу
SELECT conname, connamespace, contype, condeferrable, condeferred, convalidated,
conrelid, contypid, conindid, confrelid, confupdtype, confdeltype,
confmatchtype, conislocal, coninhcount, conkey, confkey, conpfeqop,
conppeqop, conffeqop, conexclop, conbin, consrc
FROM pg_constraint
where conname='fk_table_z'

и в таблице у меня
CONSTRAINT fk_table_z FOREIGN KEY (pole_az_id)
REFERENCES blablabla.AZZ (az_id) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE RESTRICT,

подскажите как можно найти все таблице и поля которые ссылаются на мою текущую blablabla.AZZ
Legushka
Дата: 20.01.2015 15:20:57
на просторах нашел такую тему которая мне пригодится)
SELECT
  schemaname,
  tablename,
  indexname,
  indexdef
FROM
  pg_indexes
WHERE
  tablename = 'моя таблица' --AND schemaname = 'myschema'
/\/\/\/\/\/\
Дата: 20.01.2015 15:32:59
Legushka,
Читайте RTFM. Затем по имени органичения находите таблицу, где оно задано.
Legushka
Дата: 20.01.2015 16:17:53
сформулирую точнее что именно надо найти:
оооочень большая таблица, из нее надо найти все неиспользованные записи и отдельно их переместить в другую таблицу мусора

в БД очень много зависимостей Foreign Key
которые ссылаются на текущую, как можно найти из текущей таблицы все записи которые не встречаются ни в одной связи Foreign Key которые ссылаются на текущую таблицу
/\/\/\/\/\/\
Дата: 20.01.2015 22:20:07
Legushka,

Сделайте тупо и примитивно:
За одну транзакцию:
1. Берете запись, копируете ее в мусорную таблицу
2. Удаляете запись из основной таблицы.
Если удалось удалить - все хорошо. Ее ничего не держит.
Не удалось удалить - транзакция откатится к исходному состоянию. Больше эту запись не трогаете.
И так по всем записям в таблице.

То что это все будет делаться не очень быстро - не беда. Нужно всего лишь немного подождать. Неделя-другая - не срок.
йоксель
Дата: 21.01.2015 00:31:34
/\/\/\/\/\/\,

не учите плохому. там могут быть не [ON DELETE RESTRICT] а [ON DELETE CASCADE].

и через неделю другую в базе будет пусто
от слова совсем
/\/\/\/\/\/\
Дата: 21.01.2015 07:32:02
йоксель,

Подумаешь, одной базой больше, одной меньше...
А заводы стоят!

Тогда нужно действительно разобраться с постановкой задачи. Как ни крути, разобираться с предметной областью (то есть откуда и почему на эту таблицу ссылаются, почему ее нужно чистить и что будет, если не почитсят) придется. Никуда не денешься.