✅ Eugene trace report
Script name: examples/W14/good/1.sql
✅ Statement number 1 for 10ms
-- 1.sql
create table authors(
name text
)
Locks at start
No locks held at the start of this statement.
New locks taken
No new locks taken by this statement.
✅ Eugene trace report
Script name: examples/W14/good/2.sql
✅ Statement number 1 for 10ms
-- 2.sql
create unique index concurrently
authors_name_key on authors(name)
Locks at start
No locks held at the start of this statement.
New locks taken
No new locks taken by this statement.
✅ Eugene trace report
Script name: examples/W14/good/3.sql
✅ Statement number 1 for 10ms
-- 3.sql
set local lock_timeout = '2s'
Locks at start
No locks held at the start of this statement.
New locks taken
No new locks taken by this statement.
✅ Statement number 2 for 10ms
-- eugene: ignore E2
-- This is a demo of W14, so we can ignore E2 instead of the
-- multi-step migration to make the column NOT NULL safely
alter table authors
alter column name set not null
Locks at start
No locks held at the start of this statement.
New locks taken
| Schema | Object | Mode | Relkind | OID | Safe | Duration held (ms) |
|---|---|---|---|---|---|---|
public | authors | AccessExclusiveLock | Table | 1 | ❌ | 10 |
❌ Eugene trace report
Script name: examples/W14/good/4.sql
❌ Statement number 1 for 10ms
-- 4.sql
alter table authors
add constraint authors_name_pkey
primary key using index authors_name_key
Locks at start
No locks held at the start of this statement.
New locks taken
| Schema | Object | Mode | Relkind | OID | Safe | Duration held (ms) |
|---|---|---|---|---|---|---|
public | authors | AccessExclusiveLock | Table | 1 | ❌ | 10 |
Triggered rules
E1: Validating table with a new constraint
A new constraint authors_name_pkey of type PRIMARY KEY was added to the table public.authors as VALID. Constraints that are NOT VALID can be made VALID by ALTER TABLE public.authors VALIDATE CONSTRAINT authors_name_pkey which takes a lesser lock.
E9: Taking dangerous lock without timeout
The statement took AccessExclusiveLock on the Table public.authors without a timeout. It blocks SELECT, FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE, FOR KEY SHARE, UPDATE, DELETE, INSERT, MERGE while waiting to acquire the lock.