Category Archive: PostgreSQL

Установка PostgreSQL из исходников на Ubuntu 16.04

Склонируйте репозиторий PostgreSQL

git clone https://github.com/postgres/postgres.git

После окончания загрузки файлов перейдите в созданную директорию

cd postgres

Переключитесь на ветку REL_10_STABLE

git checkout REL_10_STABLE

Перед непосредственно сборкой проект нужно установить вспомогательно ПО.

sudo apt-get install libreadline-dev
sudo apt-get install bison
sudo apt-get install flex

Сконфигурируйте проект

./configure

Соберите проект

make

Установить postgres

sudo make install

Переключитесь в режим супер-пользователя:

sudo su

Добавьте нового пользователя postgres:

adduser postgres

Задайте пароль для пользователя postgres:

passwd postgres

Создайте директорию для данных postgres:

mkdir /usr/local/pgsql/data

Поменяйте владельца и группу для директории:

chown postgres:postgres /usr/local/pgsql/data

Далее поменяйте пользователя на postgres:

su - postgres

Проинициализируйте новый кластер баз данных:

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/

Target lists can have at most 1664 entries в PostgreSQL

Давно не писал… На прошлой неделе поймал такую ошибку:

ERROR: target lists can have at most 1664 entries

Данная ошибка возникла из-за того, что появилось много зависимостей между сущностями(Entity).
Когда идет запрос данных через Hibernate, то JOIN’ится много таблиц, и общее количество получаемых полей начинает превышать 1664. В нашем случае это было около 1700 полей. Такое разумное ограничение есть у PostgreSQL.
Решить можно такими путями:
1) Переписать запросы, взяв только используемые поля;
2) Сделать некоторые поля Lazy.
Скорее всего, такая проблема и у вас решится вторым путем.