PostgreSQL - Как изменить табличное пространство по умолчанию pg_default

PostgreSQL - Как изменить табличное пространство по умолчанию pg_default

Коллеги всем привет.

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

В тот момент когда вы создаете какую-нибудь таблицу, то не явным образом сам PostgreSQL подставляет дополнительный параметр TABLESPACE pg_default, но если вы хотите чтобы таблицы создавались в другом табличном пространстве то можно эту сделать изменивши конфигурационный параметр default_tablespace.

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

Еще очень важным нюансом есть то что эта переменная не используется для временных таблиц.

 

Содержимое статьи:

  1. Просмотр значения переменной default_tablespace.
  2. Установка нового значения переменной default_tablespace.
  3. Перезапуск база данных.
  4. Проверка.
  5. Итоги.

 

1. Просмотр значения переменной default_tablespace.

Перед тем как мы что-то будем менять, давайте для начала узнаем какое значения имеет переменная default_tablespace, для этого воспользуемся sql запрос.

sql> SELECT name, setting FROM pg_settings WHERE name = 'default_tablespace';

postgresql change default tablespace

Как видим значения по умолчанию пустая строка.


 

2. Установка нового значения переменной default_tablespace.

Переменная default_tablespace является статической, и по этому нужно значения менять в конфигурационном файле postgresql.conf.

Открываем конфигурационный файл postgresql.conf и находим переменную default_tablespace.

postgresql change default tablespace

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

postgresql change default tablespace


 

3. Перезапуск базы данных.

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

$. pg_ctl restart


 

4. Проверка.

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

sql> SELECT name, setting FROM pg_settings WHERE name = 'default_tablespace';

postgresql change default tablespace


 

5. Итоги.

После всего что мы сделали, теперь если вы будете создавать новые объекты в базе данных, то они будут создаваться не в табличном пространстве pg_default, а в том которое вы указали в переменной default_tablespace.


 

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

 

ПОХОЖИЕ СТАТЬИ

PostgreSQL Ошибка: requested wal segment has already been removed
PostgreSQL Ошибка: requested wal segment has already been removed
POSTGRESQL
PostgreSQL: Как включить контрольные суммы данных - pg_checksums
PostgreSQL: Как включить контрольные суммы данных - pg_checksums
POSTGRESQL
Postgresql - Список пользователей
Postgresql - Список пользователей
POSTGRESQL