4

When I create a table, it is placed in a default tablespace such as "USERS", unless I specify a user created tablespace, say, MyTableSpace.

For example,

create table test_tab(

name varchar2(100),
photo BLOB,
text   CLOB
)
tablespace "USERS"   --default
lob ("photo")  tablespace "MyTableSpace"   --user created
lob ("text")  tablespace "MyTableSpace"    --user created

Now, convert the above table to the counterpart in Postgres. Where could those columns be placed?

A default tablespace? User create tablespace? Or some proprietary logical structure in Postgres?

1
  • 1
    long bytea (the equivalent to BLOB) and text values are stored in the TOAST area. I believe that is always the same tablespace as the table is using. Commented Jan 21, 2016 at 15:25

1 Answer 1

2

In PostgreSQL, if you don't specify a tablespace in your CREATE TABLE command, the value of parameter default_tablespace will be used.

If default_tablespace is not set, or has an invalid value, the table will be created in the same tablespace as the database.

https://demo.pganalyze.com/databases/6/config/default_tablespace

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.