Forum Discussion
PostgreSQL connection through On-premise Data Gateway
- 9 years ago
Hello,
for ODBC connection to postgres you need to get installed ODBC driver for postgres;i am using PostgresSQL Unicode(x64).
After that you have 2 options:
1) create user DSN via ODBC data source administrator (C:\Windows\System32\odbcad32.exe). In that case the connection string for ODBC data source is "dsn=dsn_name" where dsn_name represents the user dsn created via tool above
2) alternative option for connection string is: driver={PostgreSQL Unicode(x64)};server=server_name;port=5432;database=db_name
where server_name represents a server name or its IP, db_name is name of database.
For using on-premise gateway you need to use ODBC connection to postgress on power bi desktop. Then you need to configure data sources using ODBC the same way on on-premise gateway.
I am using above approach for connection to multiple different postgres databases.
I hope it helps.
Kind regards
M
Hi martina,
I've chosen the second option and I've just tried to access the PostgreSQL through ODBC in Power BI Desktop, it works properly!
Unfortunately this is not the solution I prefer because it forces me to create new queries and rebuild all my data model... too much time consuming.
I will try to connect directly to PostgreSQL through the personal-gateway instead of on-premise.
Anyway, I will tag your message as solution because at least it works in PBI Desktop (for any future reader, I haven't checked the solution on PBI Service).
Thanks a lot,
Kind regards.
Hello, to avoid recreating all queries you can just create ODBC connection for of them and then via advanced editor modify the source (i am using select query in SQL statement)
postgres:
Source = PostgreSQL.Database("server", "db_name", [Query="select …. "])
to ODBC:
Source= Odbc.Query("driver={PostgreSQL Unicode(x64)};server=server_name;port=5432;database=db_name", "select … ")
or (if not SQL statement used)
Source= Odbc.DataSource("driver={PostgreSQL Unicode(x64)};server=server_name;port=5432;database=db_name",...
Kind regards
M
- juanca9 years agoHelper II
Hi martina,
Thanks for your advice, I'll try to apply it this weekend, I'll let you know the output.
Best regards.
- juanca9 years agoHelper II
Hi martina,
I had no problem in order to modify the data model in my PBI Desktop, nice!
Thanks a lot for your help till now, I'll tell you a new problem that I'm facing, maybe you have deal with something similar yet and you have an answer.
The problem now is with the On-Premise Gateway, it's properly configured as we can see in the "Gateweay Manager" screen below, but it does not appear in my dataset when I try to refresh it for example:Do you have any idea? It seems that I'm not the only one with this problem as you can see here.
Thanks a lot again,
Kind regards.
- juanca9 years agoHelper II
Hi martina,
All is working fine now, I've been able to have my on-premise connector up and running without issues and after that, the problem with ODBC connector was related with the ODBC configuration in my Power BI Desktop, I wrote a DataSourceName when not necessary.
Thanks again for your support,
Kind regards.
- Analitika4 years agoPost Prodigy
Hi, I have sybase quries how change it to postgreSQL?
Source=PostgreSQL.Database(.......)...