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
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.
- martina9 years ago
Advocate I
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 ago
Helper 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 ago
Helper 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.
- Analitika5 years ago
Post Prodigy
Hi, I have sybase quries how change it to postgreSQL?
Source=PostgreSQL.Database(.......)...