Re: Disabling/Enabling index before bulk loading

From: Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>
To: srkrishna(at)yahoo(dot)com
Cc: vivek(at)khera(dot)org, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Disabling/Enabling index before bulk loading
Date: 2018-07-10 20:18:39
Message-ID: CANNMO+LQ5sdWyH_+N9Zjah2W5+cvXRYtUnya0+GCwVGVhfjr-w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Jul 10, 2018 at 12:26 PM Ravi Krishna <srkrishna(at)yahoo(dot)com> wrote:

>
>
>
> https://fle.github.io/temporarily-disable-all-indexes-of-a-postgresql-table.html
>
>
>
>
> This does not work in RDS. In order to update system catalog tables
> (pg_index), one needs privileges which is
> denied in RDS. In RDS terminology, the user must belong to role rdsadmin
> and that role is reserved only for AWS
> internal users.
>

Right, but pl/pgsql works fine there, so you can backup&drop all indexes
and then restore them using `do $$ ... $$ language plpgsql;`, as Thomas
Kellerer already suggested.

One note here: there is some old confusion between concepts of unique
indexes and unique constraints in Postgres (see
https://www.postgresql.org/message-id/flat/CANNMO%2BKHkkDg-FBi0_78ADmfLiT9kODmz%2B8m6fR6f5kPL-n_ZQ%40mail.gmail.com#cfb3a9eaed8649d7d24ad7944ccb37cf)
so there is a chance that after such backup/restore procedure you'll get
logically correct but phisically different state.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2018-07-10 20:28:31 Re: Reporting bug on pgAdmin 4.3
Previous Message Ravi Krishna 2018-07-10 19:25:53 Re: Disabling/Enabling index before bulk loading