Tablespace Verwendung

Hallo Gemeinde,

ich habe ein kleines Problem mit den Tablespace. Ich möchte für jede Datenbank ein eigenes Verzeichnes auf der Festplatte haben, damit alles sauber getrennt ist.

Also habe ich mir einen Tablespace angelegt, dann die Datenbank, und noch ein paar Tabellen, jedoch habe ich das gefühl, das der Tablespace nicht verwendet wird.

CREATE TABLESPACE kmodus_space LOCATION '/var/postgresql/kmodus/data';

CREATE DATABASE kmodus TABLESPACE kmodus_space;

\connect kmodus;

Das funktioniert, das Verzeichnes hat jetzt auch einen Inhalt, wenn ich aber eine Tablle anlege:

CREATE TABLE roles (
    role_id serial NOT NULL,
    rolename varchar(25) NOT NULL,
    active bool NOT NULL DEFAULT FALSE,
    
    CONSTRAINT roles_pkey PRIMARY KEY (role_id),
    CONSTRAINT roles_rolename_key UNIQUE (rolename)
) TABLESPACE kmodus_space;

Ist diese in keinem Tablespace: Ich habe mal einen Screenshot von phpPgAdmin gemacht:

Wie bekomme ich nun raus, ob die Tabelle auch dem richtigen Tablespace ist?

Ich habe auch vor dem anlegen der Tabellen mal ein:

SET default_TABLESPACE = 'kmodus_space';

gemacht, das resultat ist das selbe.

Hat da jemand eine idee wie ich da vorgehen kann, damit auch alles was zu der DB gehört in dem entsprechenden Tablespace ist?

Danke für die Hilfe

jd

Steht in pg_class, column reltablespace.

Hat da jemand eine idee wie ich da vorgehen kann, damit auch alles was zu der DB gehört in dem entsprechenden Tablespace ist?

Danke für die Hilfe

jd

Falls ich die Doku korrekt parse, hast Du alles richtig gemacht. Prüfe mal, was pg_class sagt.

Andreas

Hallo,

ich habe mein Weg auch aus der Doku… Was meinst du mit pg_class? Wie Frage ich das ab, und welche Infos benötige ich?

SELECT * FROM pg_class;

Ist leicht verwirrend, da ich nicht weiß worauf ich achten soll.

Nebenbei bemerkt ich habe keine Ahnung wozu pg_class da ist, oder wozu die pg_* da ist. Habe gestern so ziehmlich das erste mal davon gehört.

Das sind alles Katalogtabellen, wo PG intern alle wichtigen Dinge speichert. Also, z.B., welche Tabellen es gibt, welche Indexe, wie Tabellen voneinander abhängig sind, Trigger, Views, Rules, Funktionen und so weiter. Ist alles in der Doku beschrieben, jede einzelne Tabelle.

Man braucht das nicht unbedingt für die tägliche Arbeit, aber die Dinge zu kennen schadet auch nicht.

Andreas