Re: Error retrieving PostgreSQL DB information with Coturn

Marco Ippolito <[email protected]> Tue, 14 Jan 2020 18:07:36 +0100
Newsgroups gmane.comp.db.postgresql.general
Message-ID <CAFegzBSoR0TiuVZSAfHwYqQBXXp_tYM3jJrfdK-RoYEibx=B+Q@mail.gmail.com>
--0000000000009e7e02059c1ca1fb
Content-Type: text/plain; charset="UTF-8"

Thank you very much Adrian!

I feel ashamed for such a silly mistake

coturn=# \dt
               List of relations
 Schema |         Name         | Type  | Owner
--------+----------------------+-------+-------
 public | admin_user           | table | turn
 public | allowed_peer_ip      | table | turn
 public | denied_peer_ip       | table | turn
 public | oauth_key            | table | turn
 public | turn_origin_to_realm | table | turn
 public | turn_realm_option    | table | turn
 public | turn_secret          | table | turn
 public | turnusers_lt         | table | turn
(8 rows)

1: IPv4. CLI listener opened on : 127.0.0.1:5766
1: PostgreSQL DB connection success: host=localhost dbname=coturn user=turn
password=turn connect_timeout=30

Marco



Il giorno mar 14 gen 2020 alle ore 17:53 Adrian Klaver <
[email protected]> ha scritto:

> On 1/14/20 8:33 AM, Marco Ippolito wrote:
> > In order to understand how to use Postgresql-11 with Coturn,
> > https://github.com/coturn/coturn ,
> > I created a postgresql-11 dabatase using
> > /usr/local/share/turnserver/schema.sql  :
> >
> >      CREATE TABLE turnusers_lt (
> >          realm varchar(127) default '',
> >          name varchar(512),
> >          hmackey char(128),
> >          PRIMARY KEY (realm,name)
> >      );
> >
> >      CREATE TABLE turn_secret (
> >              realm varchar(127) default '',
> >              value varchar(256),
> >              primary key (realm,value)
> >      );
> >
> >      CREATE TABLE allowed_peer_ip (
> >              realm varchar(127) default '',
> >              ip_range varchar(256),
> >              primary key (realm,ip_range)
> >      );
> >
> >      CREATE TABLE denied_peer_ip (
> >              realm varchar(127) default '',
> >              ip_range varchar(256),
> >              primary key (realm,ip_range)
> >      );
> >
> >      CREATE TABLE turn_origin_to_realm (
> >              origin varchar(127),
> >              realm varchar(127),
> >              primary key (origin)
> >      );
> >
> >      CREATE TABLE turn_realm_option (
> >              realm varchar(127) default '',
> >              opt varchar(32),
> >              value varchar(128),
> >              primary key (realm,opt)
> >      );
> >
> >      CREATE TABLE oauth_key (
> >              kid varchar(128),
> >              ikm_key varchar(256),
> >              timestamp bigint default 0,
> >              lifetime integer default 0,
> >              as_rs_alg varchar(64) default '',
> >              realm varchar(127),
> >              primary key (kid)
> >      );
> >
> >
> > But when trying to execute secure_relay_with_db_psql.sh :
> >
> >      (base)
> > marco@marco-U36SG
> :~/turnserver-4.5.0.8/examples/scripts/longtermsecuredb$
> >      ./secure_relay_with_db_psql.sh
> >      0: WARNING: Cannot find config file: turnserver.conf. Default and
> > command-line settings will be
> >      used.
> >      0: Listener address to use: 127.0.0.1
> >      0: Listener address to use: ::1
> >      0: Relay address to use: 127.0.0.1
> >      0: Relay address to use: ::1
> >      0: 3000000 bytes per second allowed per session
> >      0: WARNING: Cannot find config file: turnserver.conf. Default and
> > command-line settings will
> >         be used.
> >      0: RFC 3489/5389/5766/5780/6062/6156 STUN/TURN Server
> >      Version Coturn-4.5.0.8 'dan Eider'
> >      0: Max number of open files/sockets allowed for this process: 4096
> >      0: Due to the open files/sockets limitation,
> >      max supported number of TURN Sessions possible is: 2000
> (approximately)
> >      0: ==== Show him the instruments, Practical Frost: ====
> >
> >      0: TLS supported
> >      0: DTLS supported
> >      0: DTLS 1.2 supported
> >      0: TURN/STUN ALPN supported
> >      0: Third-party authorization (oAuth) supported
> >      0: GCM (AEAD) supported
> >      0: OpenSSL compile-time version: OpenSSL 1.1.1  11 Sep 2018
> > (0x1010100f)
> >      0: SQLite is not supported
> >      0: Redis supported
> >      0: PostgreSQL supported
> >      0: MySQL supported
> >      0: MongoDB is not supported
> >      0:
> >      0: Default Net Engine version: 3 (UDP thread per CPU core)
> >
> >      =====================================================
> >
> >      0: Domain name:
> >      0: Default realm: north.gov <http://north.gov>
> >      0: oAuth server name: blackdow.carleon.gov
> > <http://blackdow.carleon.gov>
> >      0: WARNING: cannot find certificate file: turn_server_cert.pem (1)
> >      0: WARNING: cannot start TLS and DTLS listeners because certificate
> > file is not set properly
> >      0: WARNING: cannot find private key file: turn_server_pkey.pem (1)
> >      0: WARNING: cannot start TLS and DTLS listeners because private key
> > file is not set properly
> >      Cannot create pid file: /var/run/turnserver.pid: Permission denied
> >      0: Cannot create pid file: /var/run/turnserver.pid
> >      0: pid file created: /var/tmp/turnserver.pid
> >      0: IO method (main listener thread): epoll (with changelist)
> >      0: Wait for relay ports initialization...
> >      0:   relay 127.0.0.1 initialization...
> >      0:   relay 127.0.0.1 initialization done
> >      0:   relay ::1 initialization...
> >      0:   relay ::1 initialization done
> >      0: Relay ports initialization done
> >      0: IO method (general relay thread): epoll (with changelist)
> >      0: turn server id=0 created
> >      0: IPv4. SCTP listener opened on : 127.0.0.1:3478
> > <http://127.0.0.1:3478>
> >      0: IPv4. TCP listener opened on : 127.0.0.1:3478
> > <http://127.0.0.1:3478>
> >      0: IPv4. SCTP listener opened on : 127.0.0.1:3479
> > <http://127.0.0.1:3479>
> >      0: IPv4. TCP listener opened on : 127.0.0.1:3479
> > <http://127.0.0.1:3479>
> >      0: IPv6. SCTP listener opened on : ::1:3478
> >      0: IPv6. TCP listener opened on : ::1:3478
> >      0: IPv6. SCTP listener opened on : ::1:3479
> >      0: IPv6. TCP listener opened on : ::1:3479
> >      0: IO method (general relay thread): epoll (with changelist)
> >      0: turn server id=1 created
> >      0: IPv6. TCP listener opened on : ::1:3479
> >      0: IPv6. UDP listener opened on: ::1:3479
> >      0: Total General servers: 3
> >      0: IO method (auth thread): epoll (with changelist)
> >      0: IO method (auth thread): epoll (with changelist)
> >      0: IO method (admin thread): epoll (with changelist)
> >      0: IPv4. CLI listener opened on : 127.0.0.1:5766
> > <http://127.0.0.1:5766>
> >      0: PostgreSQL DB connection success: host=localhost dbname=coturn
> > user=turn password=turn
> >      connect_timeout=30
> >      0: ERROR: Error retrieving PostgreSQL DB information: ERROR:
> >   permission denied for table
> >      allowed_peer_ip
> >
> > But these are the tables of coturndb :
> >
> >      coturn=# \dt
> >                      List of relations
> >           Schema |         Name         | Type  |  Owner
> >          --------+----------------------+-------+----------
> >           public | admin_user           | table | postgres
> >           public | allowed_peer_ip      | table | postgres
> >           public | denied_peer_ip       | table | postgres
> >           public | oauth_key            | table | postgres
> >           public | turn_origin_to_realm | table | postgres
> >           public | turn_realm_option    | table | postgres
> >           public | turn_secret          | table | postgres
> >           public | turnusers_lt         | table | postgres
> >      (8 rows)
> >
> >      coturn=# \d allowed_peer_ip
> >                                Table "public.allowed_peer_ip"
> >        Column  |          Type          | Collation | Nullable |
> >   Default
> >
> >
> ----------+------------------------+-----------+----------+-----------------------
> >       realm    | character varying(127) |           | not null |
> > ''::character varying
> >       ip_range | character varying(256) |           | not null |
> >      Indexes:
> >          "allowed_peer_ip_pkey" PRIMARY KEY, btree (realm, ip_range)
> >
> >      coturn=# \d denied_peer_ip
> >                                Table "public.denied_peer_ip"
> >        Column  |          Type          | Collation | Nullable |
> >   Default
> >
> >
> ----------+------------------------+-----------+----------+-----------------------
> >       realm    | character varying(127) |           | not null |
> > ''::character varying
> >       ip_range | character varying(256) |           | not null |
> >      Indexes:
> >          "denied_peer_ip_pkey" PRIMARY KEY, btree (realm, ip_range)
> >
> >      coturn=# \d turn_secret
> >                                 Table "public.turn_secret"
> >       Column |          Type          | Collation | Nullable |
> >   Default
> >
> >
> --------+------------------------+-----------+----------+-----------------------
> >       realm  | character varying(127) |           | not null |
> > ''::character varying
> >       value  | character varying(256) |           | not null |
> >      Indexes:
> >          "turn_secret_pkey" PRIMARY KEY, btree (realm, value)
> >
> > Why it says "probably, the tables 'allowed_peer_ip' and/or
> > 'denied_peer_ip' have to be upgraded to include the realm column" ?
>
> Have no idea, probably need to see if someone answers that in response
> to your issue:
> https://github.com/coturn/coturn/issues/484
> > Why it says "permission denied" for table turn_secret and for table
> > allowed_peer_ip?
>
> 0: PostgreSQL DB connection success: host=localhost dbname=coturn
> user=turn password=turn
>      connect_timeout=30
>
> List of relations
>          Schema |         Name         | Type  |  Owner
>          --------+----------------------+-------+----------
>         ...
>         public | allowed_peer_ip      | table | postgres
>         ...
>         public | turn_secret          | table | postgres
>
> You are connecting as user turn and trying to access tables owned by
> user postgres.
>
>
> > How to solve the problem?
> >
> > Marco
>
>
> --
> Adrian Klaver
> [email protected]
>

--0000000000009e7e02059c1ca1fb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Thank you very much Adrian!</div><div><br></div><div>=
I feel ashamed for such a silly mistake</div><div><br></div><div>coturn=3D#=
 \dt<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0List of rela=
tions<br>=C2=A0Schema | =C2=A0 =C2=A0 =C2=A0 =C2=A0 Name =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 | Type =C2=A0| Owner <br>--------+----------------------+-------=
+-------<br>=C2=A0public | admin_user =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =
table | turn<br>=C2=A0public | allowed_peer_ip =C2=A0 =C2=A0 =C2=A0| table =
| turn<br>=C2=A0public | denied_peer_ip =C2=A0 =C2=A0 =C2=A0 | table | turn=
<br>=C2=A0public | oauth_key =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| tab=
le | turn<br>=C2=A0public | turn_origin_to_realm | table | turn<br>=C2=A0pu=
blic | turn_realm_option =C2=A0 =C2=A0| table | turn<br>=C2=A0public | turn=
_secret =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| table | turn<br>=C2=A0public | =
turnusers_lt =C2=A0 =C2=A0 =C2=A0 =C2=A0 | table | turn<br>(8 rows)</div><d=
iv><br></div><div>1: IPv4. CLI listener opened on : <a href=3D"http://127.0=
.0.1:5766">127.0.0.1:5766</a><br>1: PostgreSQL DB connection success: host=
=3Dlocalhost dbname=3Dcoturn user=3Dturn password=3Dturn connect_timeout=3D=
30</div><div><br></div><div>Marco</div><div><br></div><div><br></div></div>=
<br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">Il gio=
rno mar 14 gen 2020 alle ore 17:53 Adrian Klaver &lt;<a href=3D"mailto:adri=
[email protected]">[email protected]</a>&gt; ha scritto:<br></d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord=
er-left:1px solid rgb(204,204,204);padding-left:1ex">On 1/14/20 8:33 AM, Ma=
rco Ippolito wrote:<br>
&gt; In order to understand how to use Postgresql-11 with Coturn, <br>
&gt; <a href=3D"https://github.com/coturn/coturn" rel=3D"noreferrer" target=
=3D"_blank">https://github.com/coturn/coturn</a> ,<br>
&gt; I created a postgresql-11 dabatase using <br>
&gt; /usr/local/share/turnserver/schema.sql=C2=A0 :<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 CREATE TABLE turnusers_lt (<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 realm varchar(127) default &#39;&#39=
;,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 name varchar(512),<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 hmackey char(128),<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 PRIMARY KEY (realm,name)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 );<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 CREATE TABLE turn_secret (<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 realm varchar(127) def=
ault &#39;&#39;,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 value varchar(256),<br=
>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 primary key (realm,val=
ue)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 );<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 CREATE TABLE allowed_peer_ip (<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 realm varchar(127) def=
ault &#39;&#39;,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ip_range varchar(256),=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 primary key (realm,ip_=
range)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 );<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 CREATE TABLE denied_peer_ip (<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 realm varchar(127) def=
ault &#39;&#39;,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ip_range varchar(256),=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 primary key (realm,ip_=
range)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 );<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 CREATE TABLE turn_origin_to_realm (<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 origin varchar(127),<b=
r>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 realm varchar(127),<br=
>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 primary key (origin)<b=
r>
&gt;=C2=A0 =C2=A0 =C2=A0 );<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 CREATE TABLE turn_realm_option (<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 realm varchar(127) def=
ault &#39;&#39;,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 opt varchar(32),<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 value varchar(128),<br=
>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 primary key (realm,opt=
)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 );<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 CREATE TABLE oauth_key (<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 kid varchar(128),<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ikm_key varchar(256),<=
br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 timestamp bigint defau=
lt 0,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 lifetime integer defau=
lt 0,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 as_rs_alg varchar(64) =
default &#39;&#39;,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 realm varchar(127),<br=
>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 primary key (kid)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 );<br>
&gt; <br>
&gt; <br>
&gt; But when trying to execute secure_relay_with_db_psql.sh :<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 (base) <br>
&gt; marco@marco-U36SG:~/turnserver-4.5.0.8/examples/scripts/longtermsecure=
db$<br>
&gt;=C2=A0 =C2=A0 =C2=A0 ./secure_relay_with_db_psql.sh<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: WARNING: Cannot find config file: turnserver.co=
nf. Default and <br>
&gt; command-line settings will be<br>
&gt;=C2=A0 =C2=A0 =C2=A0 used.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Listener address to use: 127.0.0.1<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Listener address to use: ::1<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Relay address to use: 127.0.0.1<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Relay address to use: ::1<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: 3000000 bytes per second allowed per session<br=
>
&gt;=C2=A0 =C2=A0 =C2=A0 0: WARNING: Cannot find config file: turnserver.co=
nf. Default and <br>
&gt; command-line settings will<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0be used.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: RFC 3489/5389/5766/5780/6062/6156 STUN/TURN Ser=
ver<br>
&gt;=C2=A0 =C2=A0 =C2=A0 Version Coturn-4.5.0.8 &#39;dan Eider&#39;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Max number of open files/sockets allowed for th=
is process: 4096<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Due to the open files/sockets limitation,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 max supported number of TURN Sessions possible is:=
 2000 (approximately)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: =3D=3D=3D=3D Show him the instruments, Practica=
l Frost: =3D=3D=3D=3D<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: TLS supported<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: DTLS supported<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: DTLS 1.2 supported<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: TURN/STUN ALPN supported<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Third-party authorization (oAuth) supported<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: GCM (AEAD) supported<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: OpenSSL compile-time version: OpenSSL 1.1.1 =C2=
=A011 Sep 2018 <br>
&gt; (0x1010100f)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: SQLite is not supported<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Redis supported<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: PostgreSQL supported<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: MySQL supported<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: MongoDB is not supported<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Default Net Engine version: 3 (UDP thread per C=
PU core)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Domain name:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Default realm: <a href=3D"http://north.gov" rel=
=3D"noreferrer" target=3D"_blank">north.gov</a> &lt;<a href=3D"http://north=
.gov" rel=3D"noreferrer" target=3D"_blank">http://north.gov</a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: oAuth server name: <a href=3D"http://blackdow.c=
arleon.gov" rel=3D"noreferrer" target=3D"_blank">blackdow.carleon.gov</a> <=
br>
&gt; &lt;<a href=3D"http://blackdow.carleon.gov" rel=3D"noreferrer" target=
=3D"_blank">http://blackdow.carleon.gov</a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: WARNING: cannot find certificate file: turn_ser=
ver_cert.pem (1)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: WARNING: cannot start TLS and DTLS listeners be=
cause certificate <br>
&gt; file is not set properly<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: WARNING: cannot find private key file: turn_ser=
ver_pkey.pem (1)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: WARNING: cannot start TLS and DTLS listeners be=
cause private key <br>
&gt; file is not set properly<br>
&gt;=C2=A0 =C2=A0 =C2=A0 Cannot create pid file: /var/run/turnserver.pid: P=
ermission denied<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Cannot create pid file: /var/run/turnserver.pid=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: pid file created: /var/tmp/turnserver.pid<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IO method (main listener thread): epoll (with c=
hangelist)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Wait for relay ports initialization...<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: =C2=A0 relay 127.0.0.1 initialization...<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: =C2=A0 relay 127.0.0.1 initialization done<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: =C2=A0 relay ::1 initialization...<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: =C2=A0 relay ::1 initialization done<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Relay ports initialization done<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IO method (general relay thread): epoll (with c=
hangelist)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: turn server id=3D0 created<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IPv4. SCTP listener opened on : <a href=3D"http=
://127.0.0.1:3478" rel=3D"noreferrer" target=3D"_blank">127.0.0.1:3478</a> =
<br>
&gt; &lt;<a href=3D"http://127.0.0.1:3478" rel=3D"noreferrer" target=3D"_bl=
ank">http://127.0.0.1:3478</a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IPv4. TCP listener opened on : <a href=3D"http:=
//127.0.0.1:3478" rel=3D"noreferrer" target=3D"_blank">127.0.0.1:3478</a> <=
br>
&gt; &lt;<a href=3D"http://127.0.0.1:3478" rel=3D"noreferrer" target=3D"_bl=
ank">http://127.0.0.1:3478</a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IPv4. SCTP listener opened on : <a href=3D"http=
://127.0.0.1:3479" rel=3D"noreferrer" target=3D"_blank">127.0.0.1:3479</a> =
<br>
&gt; &lt;<a href=3D"http://127.0.0.1:3479" rel=3D"noreferrer" target=3D"_bl=
ank">http://127.0.0.1:3479</a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IPv4. TCP listener opened on : <a href=3D"http:=
//127.0.0.1:3479" rel=3D"noreferrer" target=3D"_blank">127.0.0.1:3479</a> <=
br>
&gt; &lt;<a href=3D"http://127.0.0.1:3479" rel=3D"noreferrer" target=3D"_bl=
ank">http://127.0.0.1:3479</a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IPv6. SCTP listener opened on : ::1:3478<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IPv6. TCP listener opened on : ::1:3478<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IPv6. SCTP listener opened on : ::1:3479<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IPv6. TCP listener opened on : ::1:3479<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IO method (general relay thread): epoll (with c=
hangelist)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: turn server id=3D1 created<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IPv6. TCP listener opened on : ::1:3479<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IPv6. UDP listener opened on: ::1:3479<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: Total General servers: 3<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IO method (auth thread): epoll (with changelist=
)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IO method (auth thread): epoll (with changelist=
)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IO method (admin thread): epoll (with changelis=
t)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: IPv4. CLI listener opened on : <a href=3D"http:=
//127.0.0.1:5766" rel=3D"noreferrer" target=3D"_blank">127.0.0.1:5766</a> <=
br>
&gt; &lt;<a href=3D"http://127.0.0.1:5766" rel=3D"noreferrer" target=3D"_bl=
ank">http://127.0.0.1:5766</a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: PostgreSQL DB connection success: host=3Dlocalh=
ost dbname=3Dcoturn <br>
&gt; user=3Dturn password=3Dturn<br>
&gt;=C2=A0 =C2=A0 =C2=A0 connect_timeout=3D30<br>
&gt;=C2=A0 =C2=A0 =C2=A0 0: ERROR: Error retrieving PostgreSQL DB informati=
on: ERROR: <br>
&gt;=C2=A0 =C2=A0permission denied for table<br>
&gt;=C2=A0 =C2=A0 =C2=A0 allowed_peer_ip<br>
&gt; <br>
&gt; But these are the tables of coturndb :<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 coturn=3D# \dt<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 List of relations<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Schema | =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 Name =C2=A0 =C2=A0 =C2=A0 =C2=A0 | Type =C2=A0| =C2=A0Owner<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 --------+----------------------+----=
---+----------<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0public | admin_user =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 | table | postgres<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0public | allowed_peer_ip =C2=
=A0 =C2=A0 =C2=A0| table | postgres<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0public | denied_peer_ip =C2=A0=
 =C2=A0 =C2=A0 | table | postgres<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0public | oauth_key =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| table | postgres<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0public | turn_origin_to_realm =
| table | postgres<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0public | turn_realm_option =C2=
=A0 =C2=A0| table | postgres<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0public | turn_secret =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0| table | postgres<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0public | turnusers_lt =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 | table | postgres<br>
&gt;=C2=A0 =C2=A0 =C2=A0 (8 rows)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 coturn=3D# \d allowed_peer_ip<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Table &quot;public.allowed_peer_i=
p&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 Column =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0Type =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| Collation | Nullable |=C2=A0=
 =C2=A0 =C2=A0 =C2=A0<br>
&gt;=C2=A0 =C2=A0Default<br>
&gt;=C2=A0 =C2=A0 =C2=A0 <br>
&gt; ----------+------------------------+-----------+----------+-----------=
------------<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0realm =C2=A0 =C2=A0| character varying(127) =
| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null | <br>
&gt; &#39;&#39;::character varying<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0ip_range | character varying(256) | =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>
&gt;=C2=A0 =C2=A0 =C2=A0 Indexes:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;allowed_peer_ip_pkey&quot; PRI=
MARY KEY, btree (realm, ip_range)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 coturn=3D# \d denied_peer_ip<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Table &quot;public.denied_peer_ip=
&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 Column =C2=A0| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0Type =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| Collation | Nullable |=C2=A0=
 =C2=A0 =C2=A0 =C2=A0<br>
&gt;=C2=A0 =C2=A0Default<br>
&gt;=C2=A0 =C2=A0 =C2=A0 <br>
&gt; ----------+------------------------+-----------+----------+-----------=
------------<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0realm =C2=A0 =C2=A0| character varying(127) =
| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null | <br>
&gt; &#39;&#39;::character varying<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0ip_range | character varying(256) | =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>
&gt;=C2=A0 =C2=A0 =C2=A0 Indexes:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;denied_peer_ip_pkey&quot; PRIM=
ARY KEY, btree (realm, ip_range)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 coturn=3D# \d turn_secret<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Table &quot;public.turn_sec=
ret&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Column | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0T=
ype =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| Collation | Nullable |=C2=A0 =C2=A0=
 =C2=A0 =C2=A0<br>
&gt;=C2=A0 =C2=A0Default<br>
&gt;=C2=A0 =C2=A0 =C2=A0 <br>
&gt; --------+------------------------+-----------+----------+-------------=
----------<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0realm =C2=A0| character varying(127) | =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null | <br>
&gt; &#39;&#39;::character varying<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0value =C2=A0| character varying(256) | =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | not null |<br>
&gt;=C2=A0 =C2=A0 =C2=A0 Indexes:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;turn_secret_pkey&quot; PRIMARY=
 KEY, btree (realm, value)<br>
&gt; <br>
&gt; Why it says &quot;probably, the tables &#39;allowed_peer_ip&#39; and/o=
r <br>
&gt; &#39;denied_peer_ip&#39; have to be upgraded to include the realm colu=
mn&quot; ?<br>
<br>
Have no idea, probably need to see if someone answers that in response <br>
to your issue:<br>
<a href=3D"https://github.com/coturn/coturn/issues/484" rel=3D"noreferrer" =
target=3D"_blank">https://github.com/coturn/coturn/issues/484</a><br>
&gt; Why it says &quot;permission denied&quot; for table turn_secret and fo=
r table <br>
&gt; allowed_peer_ip?<br>
<br>
0: PostgreSQL DB connection success: host=3Dlocalhost dbname=3Dcoturn <br>
user=3Dturn password=3Dturn<br>
=C2=A0 =C2=A0 =C2=A0connect_timeout=3D30<br>
<br>
List of relations<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Schema |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0Name=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| Type=C2=A0 |=C2=A0 Owner<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0--------+----------------------+-------+-=
---------<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ...<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public | allowed_peer_ip=C2=A0 =C2=A0 =C2=A0 | =
table | postgres<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ...<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public | turn_secret=C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 | table | postgres<br>
<br>
You are connecting as user turn and trying to access tables owned by <br>
user postgres.<br>
<br>
<br>
&gt; How to solve the problem?<br>
&gt; <br>
&gt; Marco<br>
<br>
<br>
-- <br>
Adrian Klaver<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">adrian.klave=
[email protected]</a><br>
</blockquote></div>

--0000000000009e7e02059c1ca1fb--