Re:

Поиск
Список
Период
Сортировка
От Charles Clavadetscher
Тема Re:
Дата
Msg-id 036301d11fb4$130787d0$39169770$@swisspug.org
обсуждение исходный текст
Ответ на Re:  ("Charles Clavadetscher" <clavadetscher@swisspug.org>)
Список pgsql-general

Instead of creating a superuser you may simply grant the privilege on the database:

 

CREATE ROLE alex LOGIN PASSWORD '...';

GRANT CREATE ON DATABASE icare TO alex;

 

Bye

Charles

 

From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Charles Clavadetscher
Sent: Sonntag, 15. November 2015 15:36
To: pgsql-general@postgresql.org
Subject: Re: [GENERAL]

 

Hello

 

I never used pg_restore, but I assume that it works similarly to other PG tools, i.e. if you don’t specify a user to connect to the database it will take your unix user name. I assume that your step number 6 is the closing of the shell where you were as user postgres because after 5 you already are out of psql.

 

So the questions is, if you have a DB user alex with the Create privilege on the database icare.

 

If not you may try the following:

 

-    Open a psql terminal (steps 1-3)

-    CREATE ROLE alex LOGIN SUPERUSER PASSWORD '...';

 

And try the pg_restore again (steps 5-7).

 

You may also try to omit step 6 but then all you DB objects will be owned by postgres. If this is what you need it is fine.

 

Hope this helps.

Bye

Charles

 

 

From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Alex Luya
Sent: Sonntag, 15. November 2015 14:44
To: Giuseppe Sacco <giuseppe@eppesuigoccas.homedns.org>
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL]

 

Ubuntu 14.04 64bit + postgresql 9.4 are used here;

 

What I have done are:

 

1,Sign In ubuntu by user alex

 

2,then:sudo -i -u postgres

 

3,then:psql jump into command client

 

4,then: create database icare;

 

5,then: \q jump out command client

 

6,then run: exit jump out psql

 

7,then pg_restore --clean --create --exit-on-error --dbname=icare icare-test.tar

 

 

On Fri, Nov 13, 2015 at 10:52 PM, Giuseppe Sacco <giuseppe@eppesuigoccas.homedns.org> wrote:

Hello,


Il giorno ven, 13/11/2015 alle 13.38 +0800, Alex Luya ha scritto:
> Hello,
>        I created a new database by 
>        create database icare;
>        then quit off psql and  run:
>         pg_restore --clean --create --exit-on-error --dbname=icare
> icare-test.tar
>          it complains:
>           pg_restore: [archiver (db)] Error while PROCESSING TOC:
>           pg_restore: [archiver (db)] Error from TOC entry 21; 2615
> 80924 SCHEMA icare icare
>           pg_restore: [archiver (db)] could not execute query: ERROR:
>  permission denied for database icare
>            Command was: CREATE SCHEMA icare;

From what I understand, it means that the postgresql user that is
restoring the dump cannot create a schema on "icare" database. So, is
that user the same that issued che "create database" earlier? If it's
not, then you should grant all required priviledges to that user.

Bye,
Giuseppe



--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

 

В списке pgsql-general по дате отправления:

Предыдущее
От: "Charles Clavadetscher"
Дата:
Сообщение: Re:
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: