Chatbot interacting with enterprise postgresql database

I am trying to develop a chatbot application that answers users question by converting natural language into a sql query. I am using langchain framework and storing the table metadata in the chroma db vector database and then providing this metadata as a context to the prompt. I am actually building a rag application with context injection, when I test the application, few questions are answered correctly and few are not answered correctly as tables have complex relationships. Is the approach I am following is good enough or should I load my entire data into a vector db and then use that to generate results. Any insights would be off great help. Thanks