Очевидно человек так устроен, когда сложно - хочется более легкого, а когда все легко - хочется усложнить, чтоб было интереснее... Поскольку все было элементарно, решил при создании таблиц добавить создание внешних ключей и тут вылезла первая "неприятность". Таблицу players мы создавали в прошлом уроке в pgAdmin и первичный ключ для id не создали. Пришлось искать как изменить таблицу. Благо это оказалось легко, практически как в MySQL: ALTER TABLE players ADD PRIMARY KEY (id); Затем практически тем же способом добавил и внешний ключ к actions
Понятно, что в таком большом и трудном деле нельзя было ждать сплошных и быстрых успехов. В таком деле успехи могут обозначиться лишь спустя несколько лет. Необходимо было поэтому вооружиться крепкими нервами, большевистской выдержкой и упорным терпением, чтобы преодолеть первые неудачи и неуклонно идти вперед к великой цели, не допуская колебаний и неуверенности в своих рядах.
Научился: При решении сложных задач трудно поместить решение в один запрос (хотя, многие стараются так сделать). В таких случаях удобно помещать какие-либо промежуточные данные во временную таблицу, для использования их в дальнейшем.
Такие таблицы создаются как обычные, но с ключевым словом TEMP, и автоматически удаляются после завершения сессии.
Ключ ON COMMIT DROP автоматически удаляет таблицу (и все связанные с ней объекты) при завершении транзакции. Трудности: совмещать любимое занятие и ... А не буду о грустном.