From: | "Peter J(dot) Holzer" <hjp-pgsql(at)hjp(dot)at> |
---|---|
To: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: access method xxx does not exist |
Date: | 2022-10-29 12:00:24 |
Message-ID: | 20221029120024.6olwz2msln2g6oxf@hjp.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 2022-10-29 19:19:28 +0800, jacktby(at)gmail(dot)com wrote:
> I'm trying to add a new index, but when I finish it, I use “ create index
> xxx_index on t1 using xxx(a); ”,it gives me access method "my_index" does not
> exist
> And I don't know where this message is from, can you grve me its position?
See https://www.postgresql.org/docs/current/sql-createindex.html
The syntax for CREATE INDEX is
CREATE INDEX ON table_name [ USING method ] ( column_name ... )
You use USING to specify the method (e.g. btree or gin), not the table
and/or columns. The columns (or expressions come in parentheses after
that.
So if you wanted an index on column a of table t1 you would simply
write:
CREATE INDEX ON t1 (a);
Or if you have a function xxx and you want a function based index on
xxx(a) of that table:
CREATE INDEX ON t1 (xxx(a));
(You can specify the name of the index, but why would you?)
> I do like this. I add oid in pg_am.dat and pg_proc.dat for my index.
> And I add codes in contrib and backend/access/myindex_name, is there
> any other places I need to add some infos?
What? Why are you doing these things?
hp
--
_ | Peter J. Holzer | Story must make more sense than reality.
|_|_) | |
| | | hjp(at)hjp(dot)at | -- Charles Stross, "Creative writing
__/ | http://www.hjp.at/ | challenge!"
From | Date | Subject | |
---|---|---|---|
Next Message | jacktby@gmail.com | 2022-10-29 12:15:54 | Re: Re: access method xxx does not exist |
Previous Message | shashidhar Reddy | 2022-10-29 11:39:42 | Error while upgrading from v12 to v13 |