2015-08-05 14 views
6

Mam bazę danych rndb i utworzyłem nową tabelę myname_record, która jest domyślnie tworzona z właścicielem "postgres". W moim programie powinienem zmienić właściciela na "rndb", ale przegapiłem go. Teraz trzeba to zrobić w konsoli, więc jestem zalogować poleceniemJak zmienić właściciela tabeli w bazie danych

psql=>psql -Urndb 

a następnie zmieniając właścicielowi następujące zapytanie

rndb=>ALTER TABLE public.myname_record OWNER to rndb; 

ale mówi, trzeba być właścicielem, aby robić to zmiany. Mogę zrozumieć, ponieważ jestem zalogowany przez rndb, to daje ten błąd. Ale jak właściwie to zmienić.

Dzięki za pomoc

Odpowiedz

2

należy podłączyć jako właściciel tabeli prąd, a nie użytkownika, które chcesz zmienić prawo własności do stołu. Ponieważ to postgres:

psql -U postgres 

lub

sudo -u postgres psql 

wymagane.

(Ponadto superużytkownik zawsze może zmienić właściciela tabeli z dowolnego na dowolny).

+0

kiedy robię to samo mówi: - relacja „public.myname_record” nie istnieje – monu

+1

@monu Czy podłączyć do właściwej bazy danych? –

6

Wybierz rolę z uprawnieniami administratora i spróbuj zmienić właściciela tabeli.

ALTER TABLE public.myname_record OWNER TO rndb; 
Powiązane problemy