Обсуждение: Another Data directory for second database - feasible?
I have a postgres installation with one database on a server. I'd need to create another database; however, I'm curious if there's a way to create the second database in a different directory than the existing one. Is that feasible and how? Or does postgres only point to one data directory? Thanks in advance. -- Husam ********************************************************************** This message contains confidential information intended only for the use of the addressee(s) named above and may contain information that is legally privileged. If you are not the addressee, or the person responsible for delivering it to the addressee, you are hereby notified that reading, disseminating, distributing or copying this message is strictly prohibited. If you have received this message by mistake, please immediately notify us by replying to the message and delete the original message immediately thereafter. Thank you. FADLD Tag **********************************************************************
On Fri, 2005-04-22 at 11:10, Tomeh, Husam wrote: > I have a postgres installation with one database on a server. I'd need > to create another database; however, I'm curious if there's a way to > create the second database in a different directory than the existing > one. Is that feasible and how? Or does postgres only point to one data > directory? Thanks in advance. If you're using 8.0, you can use tablespaces. See: http://www.postgresql.org/docs/8.0/static/manage-ag-tablespaces.html If you're using 7.4 or before, you can use alternate locations. See: http://www.postgresql.org/docs/7.4/static/manage-ag-alternate-locs.html
On Fri, Apr 22, 2005 at 09:10:35AM -0700, Tomeh, Husam wrote: > > I have a postgres installation with one database on a server. I'd need > to create another database; however, I'm curious if there's a way to > create the second database in a different directory than the existing > one. Is that feasible and how? Or does postgres only point to one data > directory? Thanks in advance. Each database is stored in its own directory, usually under $PGDATA/base. Do you mean you want to create a database somewhere else? What version of PostgreSQL are you using? 8.0 and later support tablespaces; in previous versions you could use the technique described in the "Alternative Locations" section of the "Managing Databases" chapter in the documentation. http://www.postgresql.org/docs/8.0/interactive/manage-ag-tablespaces.html http://www.postgresql.org/docs/8.0/interactive/sql-createdatabase.html http://www.postgresql.org/docs/7.4/interactive/manage-ag-alternate-locs.html http://www.postgresql.org/docs/7.4/interactive/sql-createdatabase.html -- Michael Fuhr http://www.fuhr.org/~mfuhr/
htomeh@firstam.com ("Tomeh, Husam") writes: > I have a postgres installation with one database on a server. I'd need > to create another database; however, I'm curious if there's a way to > create the second database in a different directory than the existing > one. Is that feasible and how? Or does postgres only point to one data > directory? Thanks in advance. We have plenty of servers with multiple databases, handled in just this fashion. At the simplest level, it involves running initdb three times, on three directories: $ initdb -D /opt/DB1 $ initdb -D /opt/DB2 $ initdb -D /opt/DB3 $ vi /opt/DB?/postgresql.conf [change port numbers for each] $ for db in 1 2 3; do pg_ctl -D /opt/DB$db start done You probably want to set up some set of "init" scripts that manage telling the instances where to stow log files and such, and which can be auto-started upon system bootup. One of my coworkers has built a really nice init script that's good at building the directory structure where the DBs will be stowed, hence... $ vi init_db3.sh [modify config] $ ./init_db3.sh mkdir [builds directory structure] $ ./init_db3.sh initdb [runs initdb for you] $ ./init_db3.sh start At one point, he was trying to come up with a way of releasing it to the community; hopefully poking Drew can lead to that coming available, someday... -- (format nil "~S@~S" "cbbrowne" "acm.org") http://www.ntlug.org/~cbbrowne/sap.html Rules of the Evil Overlord #78. "I will not tell my Legions of Terror "And he must be taken alive!" The command will be: ``And try to take him alive if it is reasonably practical.''" <http://www.eviloverlord.com/>
Am 2005-04-22 14:44:00, schrieb Chris Browne: > One of my coworkers has built a really nice init script that's good at > building the directory structure where the DBs will be stowed, hence... > > $ vi init_db3.sh > [modify config] > $ ./init_db3.sh mkdir > [builds directory structure] > $ ./init_db3.sh initdb > [runs initdb for you] > $ ./init_db3.sh start > > At one point, he was trying to come up with a way of releasing it to > the community; hopefully poking Drew can lead to that coming > available, someday... Nice but I use under Debian/WOODY the "daemon" Directory My /etc/init.d/tdpgsql use 'run-parts' and start all databases in /etc/tdpgsql.d/* So you put files like /etc/tdpgsql.d/1michelleprivat /etc/tdpgsql.d/2secret /etc/tdpgsql.d/3business /etc/tdpgsql.d/friends /etc/tdpgsql.d/zzz with all the configurations and 'run-parts' will start or stop them in in order. Please note, that the files in "/etc/tdpgsql.d/" should be executable. Greetings Michelle -- Linux-User #280138 with the Linux Counter, http://counter.li.org/ Michelle Konzack Apt. 917 ICQ #328449886 50, rue de Soultz MSM LinuxMichi 0033/3/88452356 67100 Strasbourg/France IRC #Debian (irc.icq.com)