Connect Azure Database for PostgreSQL to Infograph
What it brings in: Every table and view the user can read.
What you need
- An Azure Database for PostgreSQL flexible server created with Public access (allowed IP addresses), or an SSH server that can reach it.
- A user with a password. A server that allows only Microsoft Entra authentication cannot be used.
- Infograph's sync servers connect from 51.222.152.247.
Your connection string
Each part is one thing you fill in, and each can fail on its own.
postgresql://[admin-user]user: fix for "The username or password was not accepted.":[password]password: fix for "The username or password was not accepted."@[server-name].postgres.database.azure.comhost: fix for "We couldn't find that host. Check the host name, then try again.":5432port: fix for "The host refused the connection. Check the port, and that your database accepts connections from Infograph's address."/postgresdatabase: fix for "That database does not exist on this server."?sslmode=requireSteps
Copy the endpoint and admin login
Open your server's Overview page. Copy the Endpoint, also shown as Server name, and note the Administrator login.
Add a firewall rule for Infograph
Open Networking and add a firewall rule for each address below, with it as both the start and the end IP address, then save. A new rule can take a few minutes to apply.
51.222.152.247Create a read-only user
Infograph only reads. Give it its own user so you can see and revoke its access in one place. Run this as the administrator, with your own password and database name.
CREATE USER infograph WITH PASSWORD '[strong-password]'; GRANT CONNECT ON DATABASE [database] TO infograph; GRANT USAGE ON SCHEMA public TO infograph; GRANT SELECT ON ALL TABLES IN SCHEMA public TO infograph; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO infograph;Write your connection string
Use the plain user name and port 5432, not 6432, which is the built-in PgBouncer.
postgresql://[admin-user]:[password]@[server-name].postgres.database.azure.com:5432/postgres?sslmode=requirePaste it in Infograph and choose your tables
Open Azure Database for PostgreSQL in Infograph, paste the string and press Connect. Pick the tables you want and Infograph starts loading them.
Allow 51.222.152.247 through your firewall so Infograph can connect.
Connect
Troubleshooting
Each entry is the message Infograph shows when a connection fails. Open it for the fix.
This host is not reachable from Infograph. Use your database's public address.
The address is private. Host names containing privatelink are private endpoints. Use the Endpoint from Overview, or connect through an SSH server under Advanced.
We couldn't find that host. Check the host name, then try again.
Copy the Endpoint again from Overview. It ends in .postgres.database.azure.com.
The host refused the connection. Check the port, and that your database accepts connections from Infograph's address.
Check the port is 5432. Port 6432 is the built-in PgBouncer, which breaks syncing.
The server closed the connection. Check that it allows Infograph's address, and whether it requires an encrypted connection.
The server answered, then hung up before Infograph could sign in. Check it allows 51.222.152.247: some hosts close the connection rather than refuse it. If the server accepts only encrypted connections, set SSL Mode to Require under Advanced.
The host did not answer in time. Check the host and port, and that your firewall allows Infograph's address.
Usually the firewall. Add a rule for 51.222.152.247 under Networking and wait a few minutes for it to apply. A server created with private access has no public endpoint, so connect through an SSH server under Advanced.
The username or password was not accepted.
Use the plain user name, not the old user@server form. Characters such as @, # or / in the password must be percent-encoded, so @ becomes %40.
Those credentials were not accepted.
Check the user and password. If the server allows only Microsoft Entra authentication, Infograph cannot use it. Connect as a user with a password.
That database does not exist on this server.
The default database is called postgres. Check the name after the last / in the string, including its case.
Through an SSH server
Infograph could not reach your SSH server. Check its address and port, and that it allows connections from Infograph's address.
Check the SSH server's public address and port, and that its firewall allows 51.222.152.247 on that port, usually 22.
Your SSH server only offers old encryption settings. Infograph needs a current OpenSSH with an Ed25519, ECDSA or RSA (SHA-2) host key.
Your SSH server only offers old encryption settings. Update OpenSSH on it. It needs an Ed25519, ECDSA or RSA (SHA-2) host key.
Your SSH server refused Infograph's key. Check the key is in authorized_keys for that user.
Add Infograph's public key, shown in the form when you turn on SSH, to ~/.ssh/authorized_keys for the SSH user you entered. Check that user exists and that the file is readable only by them.
Your SSH server's identity changed. If you expected this, trust the new server on the connection.
Infograph remembers your SSH server's key from the first connect, and the server now shows a different one. If you rebuilt or replaced the server, open the connection and press Trust the new server. If you did not, ask whoever runs the server before you trust it.
This connection has not trusted an SSH server yet. Open the connection and use Re-discover streams to trust it.
The connection has not checked your SSH server yet. Open the connection and press Re-discover streams. Infograph then remembers the server's key.
Your SSH server would not forward to the database host. Check the permitopen rule and the database host and port.
The SSH server would not pass the connection on to the database. In authorized_keys, the permitopen rule must name the database host and port exactly as you entered them. In sshd_config, AllowTcpForwarding must not be no. The database must also accept connections from the SSH server, for example in its firewall or security group.