Autor Zpráva
MaK
Profil
Přidal jsem do serveru rychlý disk a chci některé tabulky dát na něj.
Myslel jsem, že na něm vytvořím jeden tablespace a konkretním tabulkám určím tento tablespace.
Akorát to neumím udělat, aby to bylo file-per-table.

tudíž postrádám něco jako
CREATE TABLESPACE ts1 DATA DIRECTORY ...

CREATE TABLE ... DATA DIRECTORY = ... nechci použít, neb se mi zdá systémovější použít tablespace
ttttt
Profil *
Koukni do dokumentace pro tvou databázi, dost možná to tam je.

MySQL:
CREATE TABLESPACE `ts2` ADD DATAFILE 'ts2.ibd' FILE_BLOCK_SIZE = 8192 Engine=InnoDB;

PostgreSQL:
CREATE TABLESPACE tablespace_name
    [ OWNER { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER } ]
    LOCATION 'directory'
    [ WITH ( tablespace_option = value [, ... ] ) ]

MaK:
Akorát to neumím udělat, aby to bylo file-per-table.
Nebo možná nerozumím tomu, co chceš. Mít tablespace v adresáři a v něm ještě file-per-table?
MaK
Profil
ttttt:
Ano, chyba na moji straně, mám MySQL.

Čekám/vnímám TABLESPACE jako společný prostor více tabulek. Nebudu každé tabulce říkat /var/.../.../.../, ale určím to jednou při vytvoření TABLESPACE a pak každé tabulce řeknu jméno tablespace.
Ale možná to chápu blbě.
Kajman
Profil
Některé soubory ve stejném adresáři mohou být díky symbolickým linkům odkazovány do jiného prostoru (např. rychlejší disk). Ale raději si to dobře otestujte, včetně zálohování. Před přesouváním souborů a děláním linků si databázi samozřejmě vypněte.
ttttt
Profil *
Kajman:
Podle dokumentace to není dobrý nápad. V rámci jednoho filesystému jsou některé operace atomické. Bál bych se, že když to poruším a databáze to nebude vědět, může to někde poškodit data. Jestli se to reálně děje nevím.
MaK
Profil
Kajman:
Některé soubory ve stejném adresáři mohou být díky symbolickým linkům odkazovány do jiného prostoru (např. rychlejší disk).

To byla moje základní myšlenka. Ale nechtěl jsem použít symbolický linky, ale tablespace:

ALTER TABLE t1 TABLESPACE rychly_disk

Bohužel už to v cílovém prostoru nebude file-per-table.
Kajman
Profil
Asi to nejde a budete muset použít cestu adresáře v DATA DIRECTORY při zakládání tabulky.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0