Re: CREATE TABLE ( .. STORAGE ..)

Aleksander Alekseev <aleksander@timescale.com>

From: Aleksander Alekseev <aleksander@timescale.com>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Cc: Matthias van de Meent <boekewurm+postgres@gmail.com>, Teodor Sigaev <teodor@sigaev.ru>, wenjing zeng <wjzeng2012@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-06-24T11:44:07Z
Lists: pgsql-hackers

Attachments

Hi hackers,

Many thanks for the review!

Here is a patch updated according to all the recent feedback, except
for two suggestions:

> This adds support for "ADD COLUMN SET STORAGE" but it is not described
> in the doc.  COMPRESSION is not described, too.  Shouldn't we add the
> both this time?  Or the fix for COMPRESSION can be a different patch.

The documentation for ADD COLUMN simply says:

```
 <para>
 This form adds a new column to the table, using the same syntax as
 <link linkend="sql-createtable"><command>CREATE
TABLE</command></link>. If <literal>IF NOT EXISTS</literal>
 is specified and a column already exists with this name,
 no error is thrown.
 </para>
```

I suggest keeping a reference to CREATE TABLE, similarly as it was
done for ALTER COLUMN.

> Now that we have three column options COMPRESSION, COLLATE and STORGE
> which has the strict order in syntax.  I wonder it can be relaxed but
> it might be too much..

Agree, this could be a bit too much for this particular discussion.
Although this shouldn't be a difficult change, and I agree that this
should be useful, personally I don't feel enthusiastic enough to
deliver it right now. I suggest we address this later.

-- 
Best regards,
Aleksander Alekseev

Commits

  1. Allow specifying STORAGE attribute for a new table