I'm having a big database in PostgreSQL 9.4 with a top secret structure. There is a lot of data constantly changing in it. I would like to give an access to one of my customer to certain views in this database.
I don't won't the customer to see the structure of this database - he should just gain access to do some read-only queries on selected views/tables.
If I give read only access to selected view I want customer to do any SELECT query with data from this view (it's up to customer), i.e.:
SELECT * FROM view_1;
SELECT MIN(col_a), MAX(col_b) FROM view_1;
Is it possible to do so in PostgreSQL?
If no... what would be the best workaround?
Customer need to access through standard PostgreSQL connection and make standard SQL SELECTs (middleware/api for DB is not acceptable). Table replication is not possible because of limited ammount of space. Maybe I can make database for customer with some views that taking data somehow from my database? But in such case I'm affraid that customer may see user and password to my database.