PostgreSQL - Як змінити табличний простір за промовчанням pg_default
Колеги всім привіт.
У сьогоднішній статті ми поговоримо про те, як змінити табличний простір за мовчанням з pg_default на свій PostgreSQL.
У той момент коли ви створюєте якусь таблицю, то не явним чином сам PostgreSQL підставляє додатковий параметр TABLESPACE pg_default, але якщо ви хочете щоб таблиці створювалися в іншому табличному просторі, то можна цю зробити змінивши конфігураційний параметр default_tablespace.
Змінна default_tablespace встановлює табличний простір, який буде використовуватися за умовчанням, в якому будуть створюватися об'єкти бази даних (таблиці та індекси). За умовчанням змінна має значення порожнього рядка, а це означає, що всі об'єкти бази даних будуть створюватися в табличному просторі. Якщо навіть ви вкажете якесь значення в змінну і виявиться що такого табличного простору не існує, то ніякої помилки не буде, а всі об'єкти бази даних будуть створюватися в табличному просторі.
Ще дуже важливим нюансом є те, що ця змінна не використовується для тимчасових таблиць.
Вміст статті:
- Перегляд значення змінної default_tablespace.
- Встановлення нового значення змінної default_tablespace.
- Перезапуск бази даних.
- Перевірка.
- Підсумки.
1. Перегляд значення змінної default_tablespace.
Перед тим як ми щось змінюватимемо, давайте для початку дізнаємося яке значення має змінна default_tablespace, для цього скористаємося sql запит.
sql> SELECT name, setting FROM pg_settings WHERE name = 'default_tablespace';
Як бачимо стандартні значення порожній рядок.
2. Встановлення нового значення змінної default_tablespace.
Змінна default_tablespace є статичною, і за цим потрібно значення змінювати в конфігураційному файлі postgresql.conf.
Відкриваємо конфігураційний файл postgresql.conf і знаходимо змінну default_tablespace.
Після того так знайшли змінну, то міняємо значення на свій табличний простір, у моєму випадку я мінятиму на inzhener_1.
3. Перезапуск бази даних.
Після того, як встановили значення змінної, необхідно перезапустити базу даних для того, щоб значення змінної застосовалось.
$. pg_ctl restart
4. Перевірка.
Після перезапуску бази даних необхідно перевірити чи застосовано наше значення змінної, для цього виконаємо той самий запит, що й у першому пункті.
sql> SELECT name, setting FROM pg_settings WHERE name = 'default_tablespace';
5. Підсумки.
Після всього, що ми зробили, тепер якщо ви створюватимете нові об'єкти в базі даних, то вони будуть створюватися не в табличному просторі pg_default, а в тому, що ви вказали в змінній default_tablespace.
Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.