LINUX.ORG.RU
решено ФорумAdmin

Размещение таблиц на различных партициях

 


0

2

Вечер добрый сообществу.

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

Вопрос: Можно ли каким-то образом разместить некоторые таблицы базы данных на других партициях? Или в крайнем случае разные database хранить на различных партициях? Очень не хотелось бы переразбивать пространство. Подскажите пожалуйста, куда копать.

maxcom

Давно я с постгресом не общался, но ЕМНИП там каждая база - отдельная директория. Т.е. ln -s туда, где будет лежать база. ЗЫ если партиция сейчас ни чем не занята и будет выделена исключительно под базу, монтировать прямо туда.

erfea ★★★★★ ()
Последнее исправление: erfea (всего исправлений: 1)
Ответ на: комментарий от erfea
[18:32:29] root@stirling:[/var/lib/postgresql/8.4/main]: tree /var/lib/postgresql/8.4/main/
├── base
│   ├── 1
│   │   ├── 112
│   │   ├── 113
│   │   ├── 11447
│   │   ├── 11447_fsm
...
│   │   ├── 3764
│   │   ├── 3764_fsm
│   │   ├── 3764_vm
│   │   ├── 3766
│   │   ├── 3767
│   │   ├── 548
│   │   ├── 549
│   │   └── PG_VERSION
│   ├── 11563
│   │   ├── 112
│   │   ├── 113
│   │   ├── 11447
│   │   ├── 11447_fsm
│   │   ├── 11447_vm
│   │   ├── 11449
│   │   ├── 11451
...
│   │   ├── 3764
│   │   ├── 3764_fsm
│   │   ├── 3764_vm
│   │   ├── 3766
│   │   ├── 3767
│   │   ├── 548
│   │   ├── 549
│   │   └── PG_VERSION
│   ├── 11564
│   │   ├── 112
│   │   ├── 113
│   │   ├── 11447
│   │   ├── 11447_fsm
...
│   │   ├── 3764_fsm
│   │   ├── 3764_vm
│   │   ├── 3766
│   │   ├── 3767
│   │   ├── 548
│   │   ├── 549
│   │   ├── pg_internal.init
│   │   └── PG_VERSION
│   ├── 16385
│   │   ├── 112
│   │   ├── 113
│   │   ├── 11447
│   │   ├── 11447_fsm
│   │   ├── 11447_vm
│   │   ├── 1417
...
│   │   ├── 3764_vm
│   │   ├── 3766
│   │   ├── 3767
│   │   ├── 548
│   │   ├── 549
│   │   ├── pg_internal.init
│   │   └── PG_VERSION
│   ├── 16386
│   │   ├── 112
│   │   ├── 113
│   │   ├── 11447
...
│   │   ├── 3767
│   │   ├── 548
│   │   ├── 549
│   │   └── PG_VERSION
│   ├── 16423
│   │   ├── 112
│   │   ├── 113
...
│   │   ├── 82386
│   │   ├── 82387
│   │   ├── 90565
│   │   ├── 90565_fsm
│   │   ├── 90565_vm
│   │   ├── 90568
│   │   └── PG_VERSION
│   └── pgsql_tmp
├── global
│   ├── 1136
│   ├── 1136_fsm
│   ├── 1136_vm
│   ├── 1137
...
│   ├── 2844
│   ├── 2845
│   ├── 2846
│   ├── 2847
│   ├── pg_auth
│   ├── pg_control
│   └── pg_database
├── pg_clog
│   ├── 0000
│   ├── 0001
│   ├── 0002
│   ├── 0003
│   ├── 0004
│   ├── 0005
│   ├── 0006
│   ├── 0007
│   ├── 0008
│   ├── 0009
│   ├── 000A
│   ├── 000B
│   ├── 000C
│   └── 000D
├── pg_multixact
│   ├── members
│   │   └── 0000
│   └── offsets
│       └── 0000
├── pg_stat_tmp
│   └── pgstat.stat
├── pg_subtrans
│   └── 00DD
├── pg_tblspc
├── pg_twophase
├── PG_VERSION
├── pg_xlog
│   ├── 0000000100000017000000D4
│   ├── 0000000100000017000000D5
│   ├── 0000000100000017000000D6
│   ├── 0000000100000017000000D7
│   ├── 0000000100000017000000D8
│   ├── 0000000100000017000000D9
│   ├── 0000000100000017000000DA
│   ├── 0000000100000017000000DB
│   └── archive_status
├── postmaster.opts
├── postmaster.pid
├── server.crt -> /etc/ssl/certs/ssl-cert-snakeoil.pem
└── server.key -> /etc/ssl/private/ssl-cert-snakeoil.key

19 directories, 1440 files

Увы, совсем не ясно где тут какая-то из database(

observer ★★★ ()

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

В сторону «не нужно»LVM

sdio ★★★★★ ()
Ответ на: комментарий от erfea
[18:37:47] root@stirling:[/var/lib/postgresql/8.4/main]: du -hs /var/lib/postgresql/8.4/main/base/*
5.3M	/var/lib/postgresql/8.4/main/base/1
5.3M	/var/lib/postgresql/8.4/main/base/11563
5.5M	/var/lib/postgresql/8.4/main/base/11564
5.4M	/var/lib/postgresql/8.4/main/base/16385
5.7M	/var/lib/postgresql/8.4/main/base/16386
11G	/var/lib/postgresql/8.4/main/base/16423
4.0K	/var/lib/postgresql/8.4/main/base/pgsql_tmp

По размеру действительно похоже, что 16423 - это моя база. Сейчас попробую новую создать.

observer ★★★ ()
Ответ на: комментарий от sdio

LVM

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

observer ★★★ ()
Ответ на: комментарий от erfea

Появилась новая директория 90596. Стопнул демона, перенес директорию на нужную мне партицию, линканул, запустил демона. Благополучно создаются и удаляются таблицы, откусывается пространство на новой партиции.

Все идеально, спасибо)

observer ★★★ ()

погугли на тему «tablespace» в PostgreSQL

maxcom ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.