Sorry, I've never used single user mode,
but here is a better example
#!/bin/bash
echo "******CHANGING TABLESPACES******"
gosu postgres postgres --single -O -D $PGDATA $DB_NAME<<- EOSQL
alter table pg_largeobject set tablespace some_tablespace;
EOSQL
pg_ctl stop -d $PGDATA -m fast
echo ""
echo "******TABLESPACES CHANGED******"
fyi, revised from http://stackoverflow.com/questions/28244869/creating-a-table-in-single-user-mode-in-postgresbut here is a better example
#!/bin/bash
echo "******CHANGING TABLESPACES******"
gosu postgres postgres --single -O -D $PGDATA $DB_NAME<<- EOSQL
alter table pg_largeobject set tablespace some_tablespace;
EOSQL
pg_ctl stop -d $PGDATA -m fast
echo ""
echo "******TABLESPACES CHANGED******"
On Sun, Jan 10, 2016 at 10:01 AM, Andreas Joseph Krogh <andreas@xxxxxxxxxx> wrote:
På søndag 10. januar 2016 kl. 15:52:12, skrev Melvin Davidson <melvin6925@xxxxxxxxx>:Well, you can't combine psql with the postgres startup, but you can issue subsequent commands from bash with the -c option:EG:
postgres --single -O -D $PGDATA $DB_NAME# give postgres a few seconds to complete startupsleep 30
psql -U postgres -d your_database -c "alter table pg_largeobject set tablespace some_tablespace;"
pg_ctl stop -d $PGDATA -m fastHow can that work?Starting in single-mode gives you a prompt, so there's no way to issue another command. Even if it was, PG is not accepting connections, so using psql won't work, unless I'm misstaken...
BTW, it's always good form to state the exact O/S and version of PostgreSQL, regardless of whether you think it may apply.Yea, sorry, it's 9.5.0
--
Melvin Davidson
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.