sql >> Databasteknik >  >> RDS >> PostgreSQL

pg_dump on Database kastar felet "out of shared memory"

Jag löste det här problemet genom att ta backup för alla scheman individuellt eftersom storleken på databasen (vare sig det är antalet scheman eller antalet tabeller) ökar det är svårt att ta backup med pg_dump.

Jag har gjort följande modifiering av skriptet för att ta schemamässig backup:

  1. Innan du kör pg_dump , lista alla databasscheman i en fil. Så att vi kan iterera alla scheman och ta backup för ett schema.

    Här är kommandot för att lista alla scheman till en fil

    psql <db_name> -o <output_file> < <sql_to_list_schema>

    Här sql_to_list_schema innehåller

    VÄLJ n.nspnameFROM pg_catalog.pg_namespace nWHERE n.nspname !~ '^pg_' OCH n.nspname <> 'informationsschema';

  2. Läs nu alla rader i output_file och ta backup av det schemat

    pg_dump <db_name> -f <backup_file> -i -x -O -R -n <schema_name_read_from_file>



  1. Hämta mittpunkten för SDO.GEOMETRY-polylinjen

  2. Vad är det enklaste sättet att göra en kolumn LÄSENDAST i Oracle?

  3. Gå med i ett bord för sig själv i Oracle

  4. Inloggning fungerar endast för den sista användaren i databasen