Sign up to create your own snipts, or login.

Public snipts » Fotinakis's snipts » postgresql The latest postgresql snipts from Fotinakis.

showing 1-4 of 4 snipts for postgresql
  • Output PostgreSQL command as CSV
    psql -F\; -A --pset footer -f input_file.sql -o output_file.csv database_name
    

    copy | embed

    0 comments - tagged in  posted by Fotinakis on Nov 10, 2009 at 4:04 p.m. EST
  • Make copy and transfer entire PostgreSQL DB
    pg_dump -d prod_db -U prod_db -h localhost > /tmp/transferdump.sql
    
    psql -U prod_db_user -h localhost -t -d other_db -c "SELECT 'DROP TABLE ' || n.nspname || '.' ||
    c.relname || ' CASCADE;' FROM pg_catalog.pg_class AS c LEFT JOIN
    pg_catalog.pg_namespace AS n ON n.oid = c.relnamespace WHERE relkind =
    'r' AND n.nspname NOT IN ('pg_catalog', 'pg_toast') AND
    pg_catalog.pg_table_is_visible(c.oid)" >/tmp/dropothertables.sql;
    
    psql -d other_db -h localhost -U other_db_user < /tmp/dropothertables.sql;
    psql -d other_db -h localhost -U other_db_user < /tmp/transferdump.sql
    

    copy | embed

    0 comments - tagged in  posted by Fotinakis on Jul 28, 2009 at 6:15 p.m. EDT
  • Drop all tables from PostgreSQL DB without superuser
    psql -t -d my_dbname -c "SELECT 'DROP TABLE ' || n.nspname || '.' ||
    c.relname || ' CASCADE;' FROM pg_catalog.pg_class AS c LEFT JOIN
    pg_catalog.pg_namespace AS n ON n.oid = c.relnamespace WHERE relkind =
    'r' AND n.nspname NOT IN ('pg_catalog', 'pg_toast') AND
    pg_catalog.pg_table_is_visible(c.oid)" >/tmp/droptables
    
    psql -d my_dbname -f /tmp/droptables
    

    copy | embed

    0 comments - tagged in  posted by Fotinakis on Apr 28, 2009 at 12:09 p.m. EDT
  • Grant all permissions on PostgreSQL DB
    ER="$2"
    PSQL="psql -q -n -A -t"
    SCHEMES="'public'"
    
    if [ -z "$1" ]; then
            echo "Something like: ./grant mydatabase myuser | psql mydatabase"
            exit
    fi
    
    if [ -z "$2" ]; then
            USER="$1"
    fi
    echo "-- Granting rights on $DB to $USER ($SCHEMES)"
    # tables
    Q="select 'grant all on '||schemaname||'.'||tablename||' to \\\"$USER\\\";' from pg_tables where schemaname in ($SCHEMES);"
    $PSQL -c "$Q" "$DB";
    
    # views
    Q="select 'grant all on '||schemaname||'.'||viewname||' to \\\"$USER\\\";' from pg_views where schemaname in ($SCHEMES);"
    $PSQL -c "$Q" "$DB";
    
    # sequences
    Q="select 'grant all on function '||n.nspname||'.'||p.proname||'('||oidvectortypes(p.proargtypes)||') to \\\"$USER\\\";' from pg_proc p, pg_namespace n where n.oid = p.pronamespace and n.nspname in ($SCHEMES);"
    $PSQL -c "$Q" "$DB";
    
    # functions
    Q="select 'grant all on '||n.nspname||'.'||c.relname||' to \\\"$USER\\\";' from pg_class c, pg_namespace n where n.oid = c.relnamespace and c.relkind IN ('S') and n.nspname in ($SCHEMES);"
    $PSQL -c "$Q" "$DB";
    

    copy | embed

    0 comments - tagged in  posted by Fotinakis on Apr 28, 2009 at 12:05 p.m. EDT
Sign up to create your own snipts, or login.