2016-08-05 6 views
0

次のクエリを使用してテキスト検索辞書を作成しました。Postgres:同じ名前の2つの辞書

CREATE TEXT SEARCH DICTIONARY english_stem 
(TEMPLATE = snowball, Language = english, StopWords = english); 

しかし、私はスーパーユーザが所有し、私は同じ名「english_stem」で2つの辞書を持ってしまっているのと同じ名前「english_stem」と辞書がすでにあったことに気づきました。 1つはスーパーが所有し、もう1つは私が所有しています。

DROP TEXT SEARCH DICTIONARY english_stem; 

しかし、私は取得しています:

は、だから、私はこのクエリを使用して作成したものをドロップしようとした「[42501]エラー:テキスト検索辞書english_stemの所有者でなければなりません」というメッセージ。ドロップクエリは、私が所有していないスーパーユーザーが所有するenglish_stem辞書を削除しようとしていると思います。私が所有するenglish_stem辞書を削除するにはどうすればよいですか?

postgresで同じ名前の複数の辞書を使用できる場合は、alter/dropコマンドを実行するときに区別するための方法があるはずです。

ところで、おそらく私によって作成されたもののために、tsqueryは遅いです。同じようなクエリよりも遅いです。

注:私はスーパーユーザーに連絡せずにこれを解決する方法を探しています。

+1

あなたが別のスキーマにそれを作成した - ちょうど –

答えて

1

私はあなたのスキーマまたは一般公開された辞書を作成したと思います。

DROP TEXT SEARCH DICTIONARY public.english_stem; 
+0

はそんなにバオありがとうフルパスを指定:チェックアウト:よう

SELECT * from pg_catalog.pg_ts_dict JOIN pg_catalog.pg_namespace n ON n.oid = pg_ts_dict.dictnamespace; 

をもしそうなら、単に、スキーマ名を追加します。出来た! –

関連する問題