The following bug has been logged on the website:
Bug reference: 16771
Logged by: Bo Chen
Email address: bchen90@163.com
PostgreSQL version: 11.8
Operating system: euleros v2r7 x86_64
Description:
hi
I encounter a problem of drop tablespace failed for reasion 'tablespace is
not empty'. The problem occurs in the following scenarios:
I start a transaction to create some table located in an alreaedy created
tablespace, before the transaction commits, the process of creating data is
killed by somebady with signal 9. when the database recoveried I try to drop
the tablesapce, it failed for 'tablespace is not empty'.
Does this bug need to be resolved ?
regards, ChenBo
Following is the scenarios:
postgres=# start transaction;
START TRANSACTION
postgres=# create table test1(id text) tablespace test;
create table test2(id text) tablespace test;
create table test3(id text) tablespace test;
create table test4(id text) tablespace test;
create table test5(id text) tablespace test;
create table test6(id text) tablespace test;
create table test7(id text) tablespace test;
create table test8(id text) tablespace test;
create table test9(id text) tablespace test;CREATE TABLE
postgres=# CREATE TABLE
postgres=# CREATE TABLE
postgres=# CREATE TABLE
postgres=# CREATE TABLE
postgres=# CREATE TABLE
postgres=# CREATE TABLE
postgres=# CREATE TABLE
postgres=#
CREATE TABLE
postgres=# 2020-12-11 19:10:54.408 UTC [2909] LOG: server process (PID
2921) was terminated by signal 9: Killed
[postgres@host-192-168-0-7 data]$ psql -d postgres -U postgres -p 5432
psql (11.8)
Type "help" for help.
postgres=# drop tablespace test;
2020-12-11 19:11:36.518 UTC [3299] ERROR: tablespace "test" is not empty
2020-12-11 19:11:36.518 UTC [3299] STATEMENT: drop tablespace test;
ERROR: tablespace "test" is not empty
postgres=# select * from test1;
2020-12-11 19:11:48.684 UTC [3299] ERROR: relation "test1" does not exist
at character 15
2020-12-11 19:11:48.684 UTC [3299] STATEMENT: select * from test1;
ERROR: relation "test1" does not exist
LINE 1: select * from test1;
^
postgres=#