Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 609
1

Temp db на линуксе

27.05.2024, 10:40. Показов 550. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, можно ли на линуксе в postgresql-14 создать temp db аналогичную той что в MS SQL Server? Что бы временная база была на отдельном SSD и автоматически использовалась основными базами.
Команда CREATE TABLESPACE temp создаёт просто базу temp, но как основным рабочим базам указать эту temp для использования?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2024, 10:40
Ответы с готовыми решениями:

Ora-01652 unable to extend temp segment by 128 in tablespace temp
Почему запрос не работает(достаю не так уж и много данных, доставал больше объем данных , а тут(...

Альтернатива ворда в линуксе или как обойти проблему com объектов в линуксе?
Добрый вечер уважаемые коллеги, пользователи и просто мимопроходящие. У нас собираются переходить с...

Массив: что означает temp(i:2*i)=temp(i-1:2*i+1:-1)?
Нужна помощь человеку, не представляющему, что такое fortran. Перетаскивал старую прогу на С и...

Double temp = Math.Sqrt(.); Console.WriteLine($"{temp}"); //не число
Функции Dotlong подается массив a enum dl:int { x0, y0, x1, y1, l }; static double...

8
1251 / 967 / 382
Регистрация: 02.09.2012
Сообщений: 2,989
27.05.2024, 22:49 2
SQL
1
ALTER DATABASE SET default_tablespace = 'mytablespace';
Вот так должно установить значение табличного пространства по умолчанию для НОВЫХ создаваемых таблиц.

Для ручного переноса уже созданных таблиц в базе данных
SQL
1
2
ALTER TABLE mytable SET TABLESPACE mytablespace;
ALTER TABLE ALL IN TABLESPACE current_ts SET TABLESPACE new_ts;
При создании базы данных (когда еще не создано ни одной таблицы) можно указать табличное пространство по умолчанию, созданное раннее (вместо параметра default_tablespace):
SQL
1
CREATE DATABASE mydb WITH TABLESPACE mytablespace;
Выбирайте инструмент в зависимости от вашей ситуации.

Не забываем, что есть еще параметр temp_tablespaces
https://www.postgresql.org/doc... ABLESPACES
где можно указать список табличных пространств для временных таблиц.
Этот параметр также можно использовать в CREATE/ALTER DATABASE.

p.s.
Я точно уже не помню, в чем был смысл tempdb в MS SQL, но кажется, что Вам пригодится temp_tablespaces
1
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 609
28.05.2024, 11:15  [ТС] 3
То есть если сделать так:
Код
mkdir /mnt/SSD
chmod 700 /mnt/SSD
chown postgres:postgres /mnt/SSD
Oracle 11 SQL
1
2
CREATE TABLESPACE temp LOCATION '/mnt/SSD/dbtemp';
CREATE DATABASE Test1 WITH TABLESPACE temp;
То на SSD будет создано временное табличное пространство, которое будет использоваться базой Test1? То есть сама база Test1 со всеми данными будет расположена в разделе по умолчанию, но временные табличные данные будут находиться на SSD?

Добавлено через 22 минуты
Или это будет просто создано табличное пространство temp на SSD, в котором как раз таки будут храниться все данные с БД Test1?
0
101 / 63 / 28
Регистрация: 22.04.2022
Сообщений: 220
28.05.2024, 11:18 4
CREATE DATABASE Test1 WITH TABLESPACE temp;
делать не надо!
а нужно сделать так...
1. CREATE TABLESPACE temp1 LOCATION '/mnt/SSD/dbtemp' (temp не очень правильное название - совпадает с ключевым словом postgresql)
2. в файле postgresql.conf
изменяем temp_tablespaces = 'temp1'
3. запускаем select * from pg_reload_conf()
1
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 609
28.05.2024, 11:37  [ТС] 5
CREATE DATABASE Test1 WITH TABLESPACE temp; - А почему так делать не надо?
С временной таблицей разобрался.

Но как поступать если к примеру нужно создать целиком БД на другом диске? Я создаю там табличное пространство и указываю его при создании новой БД?
Oracle 11 SQL
1
2
CREATE TABLESPACE test LOCATION '/mnt/SSD';
CREATE DATABASE test WITH TABLESPACE test;
Или можно сразу написать:
MySQL
1
CREATE DATABASE test WITH LOCATION '/mnt/SSD';
0
101 / 63 / 28
Регистрация: 22.04.2022
Сообщений: 220
28.05.2024, 12:15 6
Цитата Сообщение от ololo111 Посмотреть сообщение
А почему так делать не надо?
Можно конечно - но тогда вся база будет лежать в /mnt/SSD
Просто нету в Postgresql аналога tempdb, можно создать tablespace на SSD и указать его в temp_tablespaces конфига,
тогда create temp table и проч. будут создавать временные объекты в этом tablespace...
0
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 609
28.05.2024, 12:27  [ТС] 7
Цитата Сообщение от fte65 Посмотреть сообщение
temp_tablespaces конфига
- работает по умолчанию для всех баз?
0
101 / 63 / 28
Регистрация: 22.04.2022
Сообщений: 220
28.05.2024, 14:26 8
Да, это настройки сервера postgresql
1
1251 / 967 / 382
Регистрация: 02.09.2012
Сообщений: 2,989
29.05.2024, 21:39 9
Должно еще так работать
SQL
1
ALTER DATABASE test SET temp_tablespaces='test';
Это назначение параметра на конкретную базу данных
0
29.05.2024, 21:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2024, 21:39
Помогаю со студенческими работами здесь

Runtime erorr 13 temp = temp & r1.Cells(i, j).Value & " " excel
Вчера все работало, сегодня все фаилы дают одну и ту-же ошибку run-time erorr 13 в дебаге ругается...

бд в линуксе
Здравствуйте. А вы пишите БД в линуксе в программе kate?

QT в Линуксе
Здравствуйте! Я буду делать курсовую в QT на С++, мне посоветовали работать с QT в Линуксе, а не...

Задание в линуксе
Здравствуйте. Помогите пожалуйста с заданием; 1. Создать учётную запись пользователя testusr,...

Вебкамера в Линуксе
Всем привет ! Помогите мне пожалуйста разобратся с вебкамерой в Ubuntu я уже неделю долбусь и...

Wine 5.0 в линуксе
Wine 5.0 нобор библиотек, меняет ли он строение ядра в Linux смоленск? И есть ли он в репащитории...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru