php, python 또는 odbc를 사용하지 않고도?postgreSQL을 Javascript에 직접 연결할 수 있습니까?
답변
아니요, 자바 스크립트는 브라우저에서 사용하는 경우에만 작동하며 데이터베이스는 서버 측에서만 연결할 수 있습니다. 따라서 결과를 얻으려면 PHP, Python 또는 다른 서버 측 언어로 서버 측 스크립트를 호출해야합니다.
에서 Postgres를위한 JS 드라이버를 얻는 것은이 하나 node.js.와 함께 사용하도록 설계되어 있습니다
웹 브라우저에서 클라이언트 측을 실행할 수있는 것을 찾을 수있을 것으로 기대하지 마십시오.
매우 재미 있습니다! 아마도 매우 안전하지 않을 수도 있지만 공유에 많은 감사드립니다. – Siewers
... 브라우저가 아닌 Node.js의 경우. –
맞아 ...하지만 질문은 "브라우저"를 말하지 않는다 – GreenAsJade
나는 PostgreSQL으로 일한 적이 없지만 데이터베이스에 액세스하려면 유효한 자격 증명 (사용자 이름과 암호)이 필요합니다. JavaScript를 사용하면 스크립트가 클라이언트에 전송되므로 사용자 이름과 암호를 숨길 방법이 없습니다. 이론적으로 그렇게 할 수 있다면 모든 클라이언트는 쿼리를 실행할 수 있고 데이터베이스로 원하는 모든 작업을 수행 할 수 있습니다.
어쨌든 클라이언트 측에서 데이터베이스에 액세스 할 수 없습니다.
PostgreSQL은 클라이언트 인증서 btw를 기반으로 인증 할 수 있습니다. 아니면 Kerberos ... 나는 브라우저에서 이것을하는 안전한 방법이있을 것이라고 생각하지만 그들은 추가 생각을 할 것입니다. –
예, 자바 스크립트가 node.js에서 실행되는 경우 가능합니다. 여기에 connector입니다.
저는 Postgrest (postgrest.com)을 사용했습니다.
"PostgreSQL은 PostgreSQL 데이터베이스를 RESTful API로 직접 변환하는 독립형 웹 서버입니다."
그러면 json 형식의 데이터를 반환하는 url로 쿼리를 만들 수 있습니다.
가능합니다. 다음 코드를 참조하십시오. 사용하기 전에 Node.js
을 7.6.0 이상으로 업데이트해야합니다. main(yourQuery)
함수 만 호출하여 Postgresql
을 사용할 수 있습니다. Google에서 찾았습니다.
const pg = require('pg')
// create a config to configure both pooling behavior
// and client options
// note: all config is optional and the environment variables
// will be read if the config is not present
var config = {
user: 'username', // env var: PGUSER
database: 'databaseName', // env var: PGDATABASE
password: 'Password', // env var: PGPASSWORD
host: 'localhost', // Server hosting the postgres database
port: 35432, // env var: PGPORT
max: 10, // max number of clients in the pool
idleTimeoutMillis: 30000 // how long a client is allowed to remain idle before being closed
}
const pool = new pg.Pool(config)
async function query (q) {
const client = await pool.connect()
let res
try {
await client.query('BEGIN')
try {
res = await client.query(q)
await client.query('COMMIT')
} catch (err) {
await client.query('ROLLBACK')
throw err
}
} finally {
client.release()
}
return res
}
async function main (queryStr) {
try {
const { rows } = await query(queryStr);
console.log(JSON.stringify(rows));
} catch (err) {
console.log('Database ' + err)
}
}
main('SELECT * FROM user where user = \'123\'')
- 1. Redis를 Javascript로 직접 연결할 수 있습니까?
- 2. SCILAB에서 직접 Java 소스 코드를 직접 사용할 수 있습니까? 아니면 둘 다 연결할 수 있습니까?
- 3. BitBlt를 직접 GDI + 비트 맵에 연결할 수 있습니까?
- 4. 어떻게 3G를 통해 모바일 장치에 직접 연결할 수 있습니까?
- 5. 안드로이드 폰에 LDAP 서버를 직접 연결할 수 있습니까?
- 6. 브라우저에서 실행중인 JavaScript에서 Redis 서버에 직접 연결할 수 있습니까?
- 7. PostgreSQL을 디스크상의 데이터베이스와 함께 사용할 수 있습니까?
- 8. Linq가 Javascript에 있습니까?
- 9. PostgreSQL을
- 10. PHP를 Javascript에 통합 할 수 있습니까?
- 11. PostgreSQL을
- 12. PostgreSQL을
- 13. javascript에 일반 window.onevent가 있습니까?
- 14. JavaScript에 sprintf가 있습니까?
- 15. Javascript에 만성?
- 16. 컨트롤러를 부분적으로 연결할 수 있습니까?
- 17. NSMutableString을 UITextField에 연결할 수 있습니까?
- 18. 데이터베이스에 어떻게 연결할 수 있습니까?
- 19. web.config 변환을 연결할 수 있습니까?
- 20. bespin을 github에 연결할 수 있습니까
- 21. 테이블 셀을 연결할 수 있습니까?
- 22. .dll과 .lib를 연결할 수 있습니까?
- 23. Skype를 내 Android 앱과 연결할 수 있습니까?
- 24. JavaScript에 창 관리 라이브러리가 있습니까?
- 25. javascript에 연산자와 같은 목록이 있습니까?
- 26. 는 PostgreSQL을
- 27. 레일은 PostgreSQL을
- 28. UISearchBar의 지우기 버튼에 연결할 수 있습니까?
- 29. * 연산자를 직접 사용하여 2 바이트를 직접 곱할 수 있습니까?
- 30. symfony를 사용하여 PostgreSQL 데이터베이스에 연결할 수 없습니다.
예, 그렇지만 브라우저의 자바 스크립트가 아닙니다. –