Re: how to find a tablespace for the table?

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: how to find a tablespace for the table?
Дата
Msg-id 4dc3920a-264c-a33d-15a4-dba5ad60b98a@aklaver.com
обсуждение исходный текст
Ответ на how to find a tablespace for the table?  (Daulat Ram <Daulat.Ram@exponential.com>)
Список pgsql-general
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@aklaver.com



В списке pgsql-general по дате отправления:

Предыдущее
От: Daulat Ram
Дата:
Сообщение: how to find a tablespace for the table?
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: Replication: slave server has 3x size of production server?