Connection, tunnel và thông tin đăng nhập
Tính năng trả phí trên trang này: Environment Variables (gói Starter). Mọi thứ khác trên trang đều miễn phí.
Quản lý thư viện connection
Mỗi connection được chỉnh trong một form gồm các tab Tổng quát, Mạng, Tùy chọn và Giao diện (General, Network, Options, Appearance). Import một URL kết nối, kể cả URL jdbc: và URL +ssh có kèm chặng SSH, form sẽ tự điền; nếu clipboard đang có sẵn một URL như vậy, form sẽ gợi ý Dùng URL trong clipboard (Use clipboard URL).
Gán cho connection một màu, bao nhiêu tag tùy ý và một vị trí trong các nhóm lồng nhau, rồi đánh dấu yêu thích những connection bạn dùng nhiều nhất. Môi trường được quản lý bằng tag: local, development, production và testing có sẵn, và bạn có thể thêm tag riêng. Khi thư viện còn trống, TablePro gợi ý Mở cơ sở dữ liệu mẫu (Open Sample Database), một bản SQLite của Chinook đi kèm ứng dụng.


Mang theo các connection bạn đã có
Hiếm khi bạn bắt đầu từ một danh sách trống: TablePro đọc connection từ một database client khác, từ file cấu hình của dự án hoặc từ tài khoản AWS của bạn.
Từ một database client khác
Nhập từ ứng dụng khác (Import from Other App) đọc các connection đã lưu trong TablePlus, Sequel Ace, DBeaver, DataGrip, Beekeeper Studio và Navicat, kể cả bản Setapp của TablePlus, và mang theo mật khẩu nếu ứng dụng đó có lưu, bao gồm cả mật khẩu đã mã hóa mà DBeaver và Navicat giữ. Connection từ Navicat được lấy từ file export .ncx.


Từ file cấu hình của dự án
Mở thư mục dự án (Open Project Folder) quét một dự án để tìm thiết lập cơ sở dữ liệu trong .env, wp-config.php, schema Prisma, config/database.yml của Rails, docker-compose.yml, application.properties hoặc application.yml của Spring, và appsettings.json. Mỗi bộ thông tin tìm được hiện kèm tên file chứa nó, và bộ bạn chọn sẽ được điền sẵn vào form connection; mật khẩu được lưu thẳng vào Keychain. Khi prod, production hay live xuất hiện như một từ riêng trong đường dẫn file, host hoặc tên cơ sở dữ liệu, connection đó bắt đầu ở mức Safe Mode Alert.


Từ tài khoản AWS
Import from AWS liệt kê các RDS instance và Aurora cluster mà một AWS profile nhìn thấy trong các region bạn chọn, rồi thêm những cái bạn muốn. Profile đó cần quyền rds:DescribeDBInstances và rds:DescribeDBClusters.
Kết nối tới cơ sở dữ liệu sau bastion, proxy hay trong cluster
SSH và TLS
SSH tunnel xác thực bằng mật khẩu, private key, SSH agent (chẳng hạn agent của 1Password) hoặc keyboard-interactive, và có thể đi lần lượt qua các jump host hoặc dùng ProxyJump trong ~/.ssh/config. Mã dùng một lần có thể được sinh từ secret lưu trong Keychain hoặc được hỏi ở mỗi lần kết nối, và với một host key lạ, TablePro hiện fingerprint của nó trước khi tin cậy. Lưu một tunnel thành SSH profile để dùng lại.
TLS có các chế độ Disabled, Preferred, Required, Verify CA và Verify Identity, với CA, chứng chỉ client và key của riêng bạn. Required mã hóa nhưng không kiểm tra chứng chỉ của server; các chế độ Verify thì có kiểm tra.
- Engine kết nối qua mạng nhưng không có SSH tunnel
- PGlite, Amazon DynamoDB, Google BigQuery, Snowflake, Cloudflare D1, Turso, libSQL, Elasticsearch, Google Cloud Spanner, Typesense, Weaviate, Cloudflare R2 SQL, SAP HANA


Proxy, Cloudflare, Cloud SQL và tunnel command
Khi không vào được bằng SSH, tab Mạng (Network) kết nối qua SOCKS5 proxy có phân giải DNS ở phía proxy, qua Cloudflare Access, khi đó TablePro chạy cloudflared và đăng nhập bằng trình duyệt hoặc service token, hoặc qua Cloud SQL Auth Proxy, được TablePro tải về, kiểm tra và chạy cho PostgreSQL, MySQL và SQL Server.
Tunnel Command chạy kubectl port-forward, aws ssm start-session hoặc một lệnh của riêng bạn, rồi kết nối vào port cục bộ mà lệnh đó mở ra. Một connection còn có thể chạy một shell script trước khi kết nối, có hỏi bạn trước ở mỗi phiên làm việc, và chạy các câu lệnh SQL ngay sau khi kết nối.


Đăng nhập bằng tài khoản cloud
Xác thực cơ sở dữ liệu bằng AWS IAM ký một token mới cho mỗi lần kết nối, từ access key, một profile trong ~/.aws (hỗ trợ credential_process và assume role) hoặc AWS IAM Identity Center, và nâng TLS lên Required cho kết nối đó. Amazon ElastiCache for Redis, Amazon Keyspaces và DynamoDB có cơ chế ký AWS riêng.
SQL Server đăng nhập bằng Microsoft Entra ID qua trình duyệt, với client ID của app registration do bạn cung cấp, hoặc bằng Kerberos từ ticket có sẵn hay từ principal và mật khẩu. Google BigQuery nhận service account key, Application Default Credentials hoặc Google OAuth với client của riêng bạn, còn Google Cloud Spanner và Cloud SQL Auth Proxy có thể dùng tài khoản Google của bạn.
- Xác thực AWS IAM trên RDS và Aurora
- PostgreSQL, MySQL, MariaDB
Giữ mật khẩu ở đúng chỗ
Mật khẩu được lưu trong Keychain của macOS; khi bật iCloud Sync, tính năng đồng bộ mật khẩu đưa chúng sang các thiết bị khác của bạn qua iCloud Keychain. SSH key vẫn là một file trên đĩa mà connection trỏ tới; chỉ passphrase của nó được lưu vào Keychain.
Credential profile dùng chung một thông tin đăng nhập cho nhiều connection và có thể lấy mật khẩu lúc kết nối từ 1Password (op), HashiCorp Vault, AWS Secrets Manager, một shell command, một file hoặc một biến môi trường. Các nguồn mật khẩu này miễn phí, không bao giờ được đồng bộ, và mỗi công cụ dòng lệnh phải nằm trong PATH, hoặc trong /usr/local/bin hay /opt/homebrew/bin. Connection cũng có thể dùng ~/.pgpass với PostgreSQL, Amazon Redshift và CockroachDB, hoặc hỏi mật khẩu ở mỗi lần kết nối.
Environment Variables
Environment Variables: gói Starter
Viết $DB_HOST vào host, tên cơ sở dữ liệu, tên người dùng, SSH host, SSH user và đường dẫn key, đường dẫn SSL, startup command hay các trường của driver trong một connection, và TablePro điền giá trị từ môi trường của chính nó khi kết nối. Port và mật khẩu không bao giờ được đọc theo cách này; với mật khẩu, hãy dùng một nguồn mật khẩu.
Quy tắc riêng của từng connection
Mức Safe Mode của connection quyết định một câu lệnh được chạy ngay, được hỏi lại trước, cần Touch ID hoặc mật khẩu, hay bị từ chối. Mức External Clients (Blocked, Read Only hoặc Read & Write) quyết định MCP client và AppleScript được làm gì với connection đó, và chỉ nằm trên máy Mac này. AI policy (Always Allow, Ask Each Time hoặc Never) quyết định trợ lý AI được dùng connection mà không cần hỏi, chỉ sau khi hỏi, hay không bao giờ; Never còn chặn luôn MCP client.
Tổ chức của bạn có thể áp một mức Safe Mode tối thiểu cho mọi connection, và kiểm soát việc cập nhật, thông qua configuration profile.
Timeout khi kết nối và khi chạy query
Mỗi connection có thể đặt connect timeout riêng, tính cả mạng, TLS, đăng nhập và mọi tunnel hay proxy, cùng query timeout riêng thay cho giá trị chung của ứng dụng. Query timeout áp dụng cho các driver hỗ trợ nó, sau khi bạn kết nối lại.
Trên iPhone và iPad
Ứng dụng cho iPhone và iPad có form connection riêng cho MySQL, MariaDB, TiDB, OceanBase, PostgreSQL, SQLite, DuckDB, Redis, SQL Server và Oracle, với nhóm, một tag cho mỗi connection và mục yêu thích. SSH tunnel xác thực bằng mật khẩu hoặc private key, từ file hoặc dán vào, và có kiểm tra host key; SSH agent và jump host không được hỗ trợ trên iPhone và iPad. TLS có thể kiểm tra chứng chỉ của server, trừ với SQL Server: kết nối được mã hóa nhưng không kiểm tra. Chứng chỉ chỉ nằm trên thiết bị và không bao giờ được đồng bộ.
Mật khẩu và key dán vào được lưu trong Keychain. Connection SQL Server đồng bộ từ Mac có thể đăng nhập bằng Microsoft Entra ID. Import từ ứng dụng khác, đăng nhập bằng AWS IAM, Kerberos và Google, proxy và tunnel command, nguồn mật khẩu và timeout chỉ có trong ứng dụng Mac.
Dùng được ở đâu
| Tính năng |
|---|
| Form connection, nhóm, tag và mục yêu thíchMac: Miễn phíiPhone và iPad: Một tag cho mỗi connection; không có màu |
| Import từ URL hoặc clipboardMac: Miễn phíiPhone và iPad: Không có |
| Import từ ứng dụng khác, thư mục dự án và AWSMac: Miễn phíiPhone và iPad: Không có |
| SSH tunnel bằng mật khẩu hoặc private keyMac: Miễn phíiPhone và iPad: Miễn phí |
| SSH agent, mã dùng một lần và jump hostMac: Miễn phíiPhone và iPad: Không có |
| TLS có kiểm tra chứng chỉMac: Miễn phíiPhone và iPad: SQL Server mã hóa nhưng không kiểm tra |
| SOCKS5, Cloudflare Access, Cloud SQL Auth Proxy và Tunnel CommandMac: Miễn phíiPhone và iPad: Không có |
| Đăng nhập bằng AWS IAM, Kerberos và GoogleMac: Miễn phíiPhone và iPad: Không có |
| Microsoft Entra IDMac: Miễn phíiPhone và iPad: Với connection đồng bộ từ Mac |
| Lưu mật khẩu trong KeychainMac: Miễn phíiPhone và iPad: Miễn phí |
| Nguồn mật khẩu, credential profile và ~/.pgpassMac: Miễn phíiPhone và iPad: Không có |
| Environment VariablesMac: Gói StarteriPhone và iPad: Không có |
| Safe Mode cho từng connectionMac: Miễn phíiPhone và iPad: Off, Confirm Writes và Read-Only |
| Connect timeout và query timeoutMac: Miễn phíiPhone và iPad: Không có |
| Mức Safe Mode tối thiểu qua configuration profileMac: Miễn phíiPhone và iPad: Không có |
Giới hạn nên biết
- Nguồn mật khẩu, cùng proxy và tunnel command trong tab Mạng, chỉ nằm trên máy Mac nơi bạn thiết lập: chúng không bao giờ được đồng bộ, nên một connection đồng bộ sang máy Mac khác cần thiết lập lại các phần này.
- TablePro đọc môi trường mà nó được khởi chạy cùng. Khi mở từ Dock hoặc Finder, ứng dụng không thấy các biến do shell profile của bạn đặt, nên cả nguồn mật khẩu từ biến môi trường lẫn Environment Variables đều bị ảnh hưởng.
- Khi gói trả phí kết thúc,
$DB_HOSTvà các tham chiếu khác không còn được điền giá trị mà được gửi tới server nguyên văn, không có cảnh báo nào. - Mở thư mục dự án (Open Project Folder) chỉ import một lần: không có gì được theo dõi, và import cùng một bộ thiết lập hai lần sẽ tạo ra hai connection.
- Xác thực AWS IAM dùng được với PostgreSQL, MySQL và MariaDB, không dùng được với Amazon Redshift. Configuration profile chỉ áp được mức Safe Mode tối thiểu và thiết lập cập nhật, ngoài ra không có gì khác.
Tải TablePro
macOS 13 Ventura trở lênApple silicon hoặc Intel