Re: adding more space to the existing 9.6 cluster
От | Thomas Boussekey |
---|---|
Тема | Re: adding more space to the existing 9.6 cluster |
Дата | |
Msg-id | CALUeYmc2PHjoc-9xPjXBj9gjhxwFNB8PTghM0EfEqJWPv2LnQA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: adding more space to the existing 9.6 cluster (Ron <ronljohnsonjr@gmail.com>) |
Ответы |
Re: adding more space to the existing 9.6 cluster
|
Список | pgsql-general |
Hello all,
If I were in your situation, I would analyze if it could move only a part of the 36 databases to the new disk.
* Either, I will move some of the databases to the new disk,
* Either, In the largest databases, I will consider to work in multiple tablespace configuration, using the command ALTER TABLE <<TableName>> SET TABLESPACE <<TablespaceName>>; Link to the documentation: https://www.postgresql.org/docs/9.6/sql-altertable.html . to move some tables to the new disk. You can analyze (depending on your disk and DB configurations, if it's better to move the very large tables or intensively used tables.
I hope I'm clear enough!
Feel free to ask for clarification or add new elements to go further on!
Hope this helps,
Have a nice day,
Thomas
Le mer. 20 févr. 2019 à 21:37, Ron <ronljohnsonjr@gmail.com> a écrit :
On 2/19/19 5:02 PM, Julie Nishimura wrote:Hello, we are almost out of space on our main data directory, and about to introduce new directory to our cluster. We cannot use multiple physical disks as a single volume, so we are thinking about creation new tablespace.Our current data_directory shows as follows:/data/postgresql/9.6/mainpostgres=# SELECT spcname FROM pg_tablespace;spcname------------pg_defaultpg_global(2 rows)We also have 36 existing databases on this cluster.If we add new directory, will it be enough to execute the following commands in order to force new data there:CREATE TABLESPACE tablespace01 LOCATION '/data/postgresql/9.6/main01';ALTER DATABASE db_name SET TABLESPACEtablespace01 Do I need to repeat it for all our existing databases?
Since the command is ALTER DATABASE <your_user_db>, it seems that yes you have to do it for all of them. A simple bash script should knock that out quickly.Should I change our "template*" dbs as well?
If you want new databases to automatically go to tablespace01 then alter template1.Do I need to do something else?
Maybe, depending on the size of your databases, and how much down time you can afford,
https://www.postgresql.org/docs/9.6/sql-alterdatabase.html "This command physically moves any tables or indexes in the database's old default tablespace to the new tablespace."
For example, our multi-TB databases are so big that moving it all at once is unreasonably slow. And a failure might leave the db is a bad spot. Thus, I'd move one table at a time, a few per outage.
Naturally, YMMV.Thank you for your advises.--
Angular momentum makes the world go 'round.
В списке pgsql-general по дате отправления: