Search Postgresql Archives

Re: how to find a tablespace for the table?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/22/20 10:34 AM, Daulat Ram wrote:
Hi team,

how to find a tablespace for the table?

See my comments below:

I have created a database with default tablespace like below:

edb=# CREATE DATABASE conndb WITH TABLESPACE = conn_s_tables;

After that I have created a table

CREATE TABLE COMPANY_new(

    ID INT PRIMARY KEY     NOT NULL,

    NAME           TEXT    NOT NULL,

    AGE            INT     NOT NULL,

    ADDRESS        CHAR(50),

    SALARY         REAL,

    JOIN_DATE        DATE

) ,

CREATE TABLE COMPANY_new(

    ID INT PRIMARY KEY     NOT NULL,

    NAME           TEXT    NOT NULL,

    AGE            INT     NOT NULL,

    ADDRESS        CHAR(50),

    SALARY         REAL,

    JOIN_DATE        DATE

)

tablespace conn_s_tables ;

But I am unable to search the tablespace name where tablespace exist , tablespace column is blank.

https://www.postgresql.org/docs/12/view-pg-tables.html

tablespace name pg_tablespace.spcname Name of tablespace containing table (null if default for database)

https://www.postgresql.org/docs/12/sql-createdatabase.html

tablespace_name

The name of the tablespace that will be associated with the new database, or DEFAULT to use the template database's tablespace. This tablespace will be the default tablespace used for objects created in this database. See CREATE TABLESPACE for more information.

So conn_s_tables is default for conndb, therefore it will not show up in queries below.


If you want to find the default tablespace:

https://www.postgresql.org/docs/12/catalog-pg-database.html

dattablespace oid pg_tablespace.oid The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.


conndb=# select schemaname,tablename,tableowner,tablespace from pg_tables where tablename='company';

schemaname | tablename |  tableowner  | tablespace

------------+-----------+--------------+------------

conndb     | company   | enterprisedb |

(1 row)

conndb=# select schemaname,tablename,tableowner,tablespace from pg_tables where tablename='company_new';

schemaname |  tablename  |  tableowner  | tablespace

------------+-------------+--------------+------------

conndb     | company_new | enterprisedb |



--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux