“public”はPostgreSQLのデフォルトスキームです。私は新しいデータベースデータを別の新しいスキーマコール “new__public”に移行したので、変更する必要があります。変更を開始する前に、現在のPostgreSQLのデフォルトスキーマは何ですか?

{空} 1)コマンド

SHOW search__path

2)postgresql.confをチェックする

#---------------------------------------------------------------------------
# CLIENT CONNECTION DEFAULTS
#---------------------------------------------------------------------------

# - Statement Behavior -

#search__path = '"$user",public'     # schema names
#default__tablespace = ''        # a tablespace name, '' uses
                    # the default
#check__function__bodies = on
#default__transaction__isolation = 'read committed'
#default__transaction__read__only = off

ここでは、PostgreSQLのデフォルトスキーマを変更する方法を示します。

SET search__path = new__schema

ただし、上記のコマンドは現在のセッションにのみ適用され、次にスキーマはpublicに戻されます。永続的に有効にしたい場合、postgresql.confファイルで次のように変更する必要があります。

#---------------------------------------------------------------------------
# CLIENT CONNECTION DEFAULTS
#---------------------------------------------------------------------------

# - Statement Behavior -

#search__path = '"$user",public'     # schema names
search__path = '"$user",new__schema'  # NEW SCHEMA HERE
#default__tablespace = ''        # a tablespace name, '' uses
                    # the default
#check__function__bodies = on
#default__transaction__isolation = 'read committed'
#default__transaction__read__only = off

その後、PostgreSQLサービスを再起動するだけです。完了しました。