mirror of
https://github.com/postgres/postgres.git
synced 2025-11-09 06:21:09 +03:00
Tablespaces. Alternate database locations are dead, long live tablespaces.
There are various things left to do: contrib dbsize and oid2name modules need work, and so does the documentation. Also someone should think about COMMENT ON TABLESPACE and maybe RENAME TABLESPACE. Also initlocation is dead, it just doesn't know it yet. Gavin Sherry and Tom Lane.
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.133 2004/05/29 22:48:21 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.134 2004/06/18 06:13:54 tgl Exp $
|
||||
*
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "catalog/namespace.h"
|
||||
#include "catalog/pg_database.h"
|
||||
#include "catalog/pg_shadow.h"
|
||||
#include "catalog/pg_tablespace.h"
|
||||
#include "commands/trigger.h"
|
||||
#include "mb/pg_wchar.h"
|
||||
#include "miscadmin.h"
|
||||
@@ -239,12 +240,12 @@ InitPostgres(const char *dbname, const char *username)
|
||||
if (bootstrap)
|
||||
{
|
||||
MyDatabaseId = TemplateDbOid;
|
||||
SetDatabasePath(GetDatabasePath(MyDatabaseId));
|
||||
MyDatabaseTableSpace = DEFAULTTABLESPACE_OID;
|
||||
SetDatabasePath(GetDatabasePath(MyDatabaseId, MyDatabaseTableSpace));
|
||||
}
|
||||
else
|
||||
{
|
||||
char *fullpath,
|
||||
datpath[MAXPGPATH];
|
||||
char *fullpath;
|
||||
|
||||
/*
|
||||
* Formerly we validated DataDir here, but now that's done
|
||||
@@ -252,11 +253,11 @@ InitPostgres(const char *dbname, const char *username)
|
||||
*/
|
||||
|
||||
/*
|
||||
* Find oid and path of the database we're about to open. Since
|
||||
* we're not yet up and running we have to use the hackish
|
||||
* Find oid and tablespace of the database we're about to open.
|
||||
* Since we're not yet up and running we have to use the hackish
|
||||
* GetRawDatabaseInfo.
|
||||
*/
|
||||
GetRawDatabaseInfo(dbname, &MyDatabaseId, datpath);
|
||||
GetRawDatabaseInfo(dbname, &MyDatabaseId, &MyDatabaseTableSpace);
|
||||
|
||||
if (!OidIsValid(MyDatabaseId))
|
||||
ereport(FATAL,
|
||||
@@ -264,7 +265,7 @@ InitPostgres(const char *dbname, const char *username)
|
||||
errmsg("database \"%s\" does not exist",
|
||||
dbname)));
|
||||
|
||||
fullpath = GetDatabasePath(MyDatabaseId);
|
||||
fullpath = GetDatabasePath(MyDatabaseId, MyDatabaseTableSpace);
|
||||
|
||||
/* Verify the database path */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user